You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2022/12/02 03:12:55 UTC
[tvm-site] branch asf-site updated: deploying docs (apache/tvm@c7d7164c421ead653d1a300a9610e8d9da14722b)
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 8828346541 deploying docs (apache/tvm@c7d7164c421ead653d1a300a9610e8d9da14722b)
8828346541 is described below
commit 8828346541edc0cb98b76ecb8ccf78902b538435
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Fri Dec 2 03:12:47 2022 +0000
deploying docs (apache/tvm@c7d7164c421ead653d1a300a9610e8d9da14722b)
---
docs/_images/sphx_glr_micro_train_001.png | Bin 337505 -> 332113 bytes
docs/_images/sphx_glr_micro_train_thumb.png | Bin 23675 -> 23380 bytes
.../how_to/compile_models/from_darknet.rst.txt | 2 +-
.../how_to/compile_models/from_keras.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_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 | 20 +-
.../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 | 1594 +--
.../tune_network_cuda.rst.txt | 4 +-
.../tune_network_x86.rst.txt | 4 +-
.../tune_sparse_x86.rst.txt | 78 +-
.../tune_with_autotvm/sg_execution_times.rst.txt | 4 +-
.../tune_with_autotvm/tune_conv2d_cuda.rst.txt | 585 +-
.../tune_with_autotvm/tune_relay_cuda.rst.txt | 2 +-
.../work_with_microtvm/micro_autotune.rst.txt | 16 +-
.../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 | 12 +-
.../work_with_relay/sg_execution_times.rst.txt | 8 +-
.../how_to/work_with_schedules/intrin_math.rst.txt | 2 +-
.../work_with_schedules/sg_execution_times.rst.txt | 14 +-
.../how_to/work_with_schedules/tensorize.rst.txt | 2 +-
.../tutorials/autotvm/sg_execution_times.rst.txt | 4 +-
.../vta/tutorials/autotvm/tune_relay_vta.rst.txt | 2 +-
.../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 | 58 +-
.../tutorial/cross_compilation_and_rpc.rst.txt | 2 +-
docs/_sources/tutorial/intro_topi.rst.txt | 4 +-
docs/_sources/tutorial/relay_quick_start.rst.txt | 2 +-
docs/_sources/tutorial/sg_execution_times.rst.txt | 22 +-
.../tutorial/tensor_expr_get_started.rst.txt | 47 +-
docs/commit_hash | 2 +-
docs/genindex.html | 2 -
docs/how_to/compile_models/from_darknet.html | 2 +-
docs/how_to/compile_models/from_keras.html | 2 +-
docs/how_to/compile_models/from_mxnet.html | 2 +-
docs/how_to/compile_models/from_oneflow.html | 13 +-
docs/how_to/compile_models/from_pytorch.html | 13 +-
docs/how_to/compile_models/from_tensorflow.html | 2 +-
docs/how_to/compile_models/sg_execution_times.html | 26 +-
.../deploy_models/deploy_model_on_adreno.html | 3 +-
.../deploy_models/deploy_model_on_android.html | 2 +-
.../deploy_object_detection_pytorch.html | 45 +-
docs/how_to/deploy_models/deploy_prequantized.html | 9 +-
.../deploy_models/deploy_prequantized_tflite.html | 4 +-
docs/how_to/deploy_models/deploy_quantized.html | 2 +-
docs/how_to/deploy_models/deploy_ssd_gluoncv.html | 39 +-
docs/how_to/deploy_models/sg_execution_times.html | 20 +-
.../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 | 1594 +--
.../tune_with_autoscheduler/tune_network_cuda.html | 4 +-
.../tune_with_autoscheduler/tune_network_x86.html | 4 +-
.../tune_with_autoscheduler/tune_sparse_x86.html | 78 +-
.../tune_with_autotvm/sg_execution_times.html | 4 +-
.../how_to/tune_with_autotvm/tune_conv2d_cuda.html | 585 +-
docs/how_to/tune_with_autotvm/tune_relay_cuda.html | 2 +-
docs/how_to/work_with_microtvm/micro_autotune.html | 16 +-
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 | 12 +-
.../how_to/work_with_relay/sg_execution_times.html | 8 +-
docs/how_to/work_with_schedules/intrin_math.html | 2 +-
.../work_with_schedules/sg_execution_times.html | 14 +-
docs/how_to/work_with_schedules/tensorize.html | 2 +-
docs/install/nnpack.html | 12 +-
docs/objects.inv | Bin 24067 -> 24055 bytes
docs/reference/api/doxygen/annotated.html | 244 +-
docs/reference/api/doxygen/c__runtime__api_8h.html | 2 +-
.../api/doxygen/c__runtime__api_8h__dep__incl.svg | 1096 +-
docs/reference/api/doxygen/classes.html | 464 +-
..._1runtime_1_1hexagon_1_1SDLTensor-members.html} | 16 +-
...lasstvm_1_1runtime_1_1hexagon_1_1SDLTensor.html | 236 +
...untime_1_1hexagon_1_1SDLTensor__coll__graph.svg | 42 +
...ime_1_1hexagon_1_1SDLTensor__inherit__graph.svg | 42 +
docs/reference/api/doxygen/conv2d_8h.html | 143 +
docs/reference/api/doxygen/conv2d_8h__incl.svg | 949 ++
docs/reference/api/doxygen/conv2d_8h_source.html | 101 +
.../api/doxygen/data__type_8h__dep__incl.svg | 108 +-
docs/reference/api/doxygen/device__api_8h.html | 2 +-
.../api/doxygen/device__api_8h__dep__incl.svg | 164 +-
...r_000003_000032.html => dir_000003_000034.html} | 0
...r_000003_000033.html => dir_000003_000035.html} | 0
...r_000004_000032.html => dir_000004_000034.html} | 0
...r_000005_000032.html => dir_000005_000034.html} | 0
...r_000005_000033.html => dir_000005_000035.html} | 0
...r_000006_000032.html => dir_000006_000034.html} | 0
...r_000006_000033.html => dir_000006_000035.html} | 0
...r_000007_000032.html => dir_000007_000034.html} | 0
...r_000011_000032.html => dir_000011_000034.html} | 0
...r_000014_000032.html => dir_000014_000034.html} | 0
...r_000015_000032.html => dir_000015_000034.html} | 0
...r_000016_000032.html => dir_000016_000034.html} | 0
...r_000016_000033.html => dir_000016_000035.html} | 0
docs/reference/api/doxygen/dir_000029_000007.html | 73 -
docs/reference/api/doxygen/dir_000029_000020.html | 73 -
docs/reference/api/doxygen/dir_000030_000011.html | 73 -
docs/reference/api/doxygen/dir_000031_000007.html | 6 +-
docs/reference/api/doxygen/dir_000031_000008.html | 73 -
docs/reference/api/doxygen/dir_000031_000013.html | 73 -
docs/reference/api/doxygen/dir_000031_000020.html | 6 +-
docs/reference/api/doxygen/dir_000032_000007.html | 73 -
docs/reference/api/doxygen/dir_000032_000011.html | 6 +-
docs/reference/api/doxygen/dir_000032_000013.html | 73 -
docs/reference/api/doxygen/dir_000032_000020.html | 73 -
...r_000030_000029.html => dir_000032_000031.html} | 0
docs/reference/api/doxygen/dir_000033_000002.html | 73 -
...r_000031_000007.html => dir_000033_000007.html} | 0
docs/reference/api/doxygen/dir_000033_000008.html | 6 +-
docs/reference/api/doxygen/dir_000033_000013.html | 6 +-
...r_000031_000020.html => dir_000033_000020.html} | 0
docs/reference/api/doxygen/dir_000034_000007.html | 6 +-
...r_000032_000008.html => dir_000034_000008.html} | 0
...r_000032_000011.html => dir_000034_000011.html} | 0
docs/reference/api/doxygen/dir_000034_000013.html | 6 +-
docs/reference/api/doxygen/dir_000034_000020.html | 6 +-
docs/reference/api/doxygen/dir_000035_000002.html | 6 +-
docs/reference/api/doxygen/dir_000035_000008.html | 6 +-
...r_000033_000011.html => dir_000035_000011.html} | 0
...r_000033_000013.html => dir_000035_000013.html} | 0
...r_000034_000007.html => dir_000036_000007.html} | 0
...r_000034_000013.html => dir_000036_000013.html} | 0
...r_000034_000020.html => dir_000036_000020.html} | 0
...r_000035_000002.html => dir_000037_000002.html} | 0
...r_000035_000008.html => dir_000037_000008.html} | 0
...r_000036_000002.html => dir_000038_000002.html} | 0
...r_000036_000011.html => dir_000038_000011.html} | 0
...r_000036_000033.html => dir_000038_000035.html} | 0
docs/reference/api/doxygen/dir_000038_000036.html | 73 -
docs/reference/api/doxygen/dir_000038_000037.html | 73 -
docs/reference/api/doxygen/dir_000038_000039.html | 73 -
...r_000037_000033.html => dir_000039_000035.html} | 0
...r_000037_000036.html => dir_000039_000038.html} | 0
...r_000038_000032.html => dir_000040_000034.html} | 0
...r_000038_000033.html => dir_000040_000035.html} | 0
docs/reference/api/doxygen/dir_000040_000038.html | 6 +-
docs/reference/api/doxygen/dir_000040_000039.html | 6 +-
docs/reference/api/doxygen/dir_000040_000041.html | 6 +-
...r_000038_000041.html => dir_000040_000043.html} | 0
...r_000039_000002.html => dir_000041_000002.html} | 0
...r_000039_000033.html => dir_000041_000035.html} | 0
...r_000039_000036.html => dir_000041_000038.html} | 0
...r_000040_000032.html => dir_000042_000034.html} | 0
...r_000040_000033.html => dir_000042_000035.html} | 0
...r_000040_000036.html => dir_000042_000038.html} | 0
...r_000040_000037.html => dir_000042_000039.html} | 0
...r_000040_000038.html => dir_000042_000040.html} | 0
...r_000040_000039.html => dir_000042_000041.html} | 0
...r_000040_000041.html => dir_000042_000043.html} | 0
...r_000041_000032.html => dir_000043_000034.html} | 0
...r_000041_000033.html => dir_000043_000035.html} | 0
...r_000041_000036.html => dir_000043_000038.html} | 0
...r_000042_000032.html => dir_000044_000034.html} | 0
...r_000042_000033.html => dir_000044_000035.html} | 0
...r_000042_000036.html => dir_000044_000038.html} | 0
...r_000043_000033.html => dir_000045_000035.html} | 0
...r_000043_000036.html => dir_000045_000038.html} | 0
.../dir_006b1f4ac353a18abb55f74cc4796db6_dep.svg | 6 +-
.../dir_02be2c9d68e402f80df60bd528724ee5_dep.svg | 22 +-
.../dir_05ffda4d144d7985f926507abde48dbb_dep.svg | 12 +-
.../dir_1f1b12d204a071c9e67e47fcbb552b86_dep.svg | 10 +-
.../dir_2b0ef9f1c86b565a92e96353e1195b2c_dep.svg | 8 +-
.../dir_3a038e7bfa2370c6aee2a5aecd5d3ef1_dep.svg | 12 +-
.../dir_404558507ed35459f0d7a6d81d8c508d.html | 4 +-
.../dir_404558507ed35459f0d7a6d81d8c508d_dep.svg | 107 +-
.../dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg | 16 +-
.../dir_519be2d4a83a987dbf989f1de527b870_dep.svg | 10 +-
.../dir_54983dd6d74c59f67ee9e8e5a50aafc4_dep.svg | 42 +-
.../dir_5da96592f3a7c442b838b075c58254c2_dep.svg | 14 +-
.../dir_63946bee875c6d52bce55e72a67a86ad_dep.svg | 20 +-
.../dir_67fdee7a5e0396034822418fa5baa4b4_dep.svg | 4 +-
.../dir_72c2f11201cd7636dc7624de0754daa5_dep.svg | 22 +-
.../dir_8395ded0a3205c0748976a0d4487d38d_dep.svg | 8 +-
.../dir_84875704194fd544d29fe0c7fedd8939_dep.svg | 8 +-
.../dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg | 74 +-
.../dir_9e615ec4a59e46584bcc4e2226e148a2_dep.svg | 8 +-
.../dir_a59a89c7dd2e4e6561fe59bf359ce2f3_dep.svg | 8 +-
.../dir_a98464176f1216e334ac3bbacd433085_dep.svg | 16 +-
.../dir_ac57496531ccbad72f774fa62e6de987_dep.svg | 28 +-
...l => dir_ad74dcb015f5755a482b0a16aa23ec44.html} | 22 +-
.../dir_ad74dcb015f5755a482b0a16aa23ec44_dep.svg | 30 +
.../dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg | 40 +-
.../dir_d331277d4303e21ded95616eb56c1a9e_dep.svg | 6 +-
.../dir_d3953cf7eb33eca56fc6850c0e98447d_dep.svg | 6 +-
.../dir_d4a54fa981698f72ef4cd62f8b9e1a8f_dep.svg | 4 +-
...l => dir_da796f6f071225ab18a1002406aa03ea.html} | 22 +-
.../dir_da796f6f071225ab18a1002406aa03ea_dep.svg | 42 +
.../dir_dc867ff9a37cad1764f1670dc7eba6c1_dep.svg | 12 +-
.../dir_e4a1a856a30057b9b1543256279fc7a1_dep.svg | 4 +-
.../dir_f97d855a3173728370e632aa77170e34_dep.svg | 8 +-
docs/reference/api/doxygen/files.html | 59 +-
docs/reference/api/doxygen/functions_func_g.html | 9 +-
docs/reference/api/doxygen/functions_func_r.html | 2 +-
docs/reference/api/doxygen/functions_func_s.html | 17 +-
docs/reference/api/doxygen/functions_func_t.html | 6 +-
docs/reference/api/doxygen/functions_g.html | 9 +-
docs/reference/api/doxygen/functions_s.html | 15 +-
docs/reference/api/doxygen/functions_t.html | 4 +-
docs/reference/api/doxygen/hierarchy.html | 2842 ++---
docs/reference/api/doxygen/inherit_graph_100.svg | 31 +-
docs/reference/api/doxygen/inherit_graph_101.svg | 46 +-
docs/reference/api/doxygen/inherit_graph_102.svg | 47 +-
docs/reference/api/doxygen/inherit_graph_103.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_104.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_105.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_106.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_107.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_108.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_109.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_110.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_111.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_112.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_113.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_114.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_115.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_116.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_117.svg | 27 +-
docs/reference/api/doxygen/inherit_graph_118.svg | 10690 +------------------
docs/reference/api/doxygen/inherit_graph_119.svg | 10690 ++++++++++++++++++-
docs/reference/api/doxygen/inherit_graph_120.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_121.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_122.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_123.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_124.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_125.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_126.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_127.svg | 7647 +------------
docs/reference/api/doxygen/inherit_graph_128.svg | 7648 ++++++++++++-
docs/reference/api/doxygen/inherit_graph_129.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_130.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_131.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_132.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_133.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_134.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_135.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_136.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_137.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_138.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_139.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_140.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_141.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_142.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_143.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_144.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_145.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_146.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_147.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_148.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_149.svg | 61 +-
docs/reference/api/doxygen/inherit_graph_150.svg | 62 +-
docs/reference/api/doxygen/inherit_graph_151.svg | 21 +-
docs/reference/api/doxygen/inherit_graph_152.svg | 21 +-
docs/reference/api/doxygen/inherit_graph_153.svg | 20 +-
docs/reference/api/doxygen/inherit_graph_154.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_155.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_156.svg | 20 +-
docs/reference/api/doxygen/inherit_graph_157.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_158.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_159.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_160.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_161.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_162.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_163.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_164.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_165.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_166.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_167.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_168.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_169.svg | 21 +-
docs/reference/api/doxygen/inherit_graph_170.svg | 21 +-
docs/reference/api/doxygen/inherit_graph_171.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_172.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_173.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_174.svg | 23 +-
docs/reference/api/doxygen/inherit_graph_175.svg | 28 +-
docs/reference/api/doxygen/inherit_graph_176.svg | 23 +-
docs/reference/api/doxygen/inherit_graph_177.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_178.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_179.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_180.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_181.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_182.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_183.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_184.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_185.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_186.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_187.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_188.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_189.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_190.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_191.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_192.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_193.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_194.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_195.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_196.svg | 29 +-
docs/reference/api/doxygen/inherit_graph_197.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_198.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_199.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_200.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_201.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_202.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_203.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_204.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_205.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_206.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_207.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_208.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_209.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_210.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_211.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_212.svg | 125 +-
docs/reference/api/doxygen/inherit_graph_213.svg | 123 +-
docs/reference/api/doxygen/inherit_graph_214.svg | 79 +-
docs/reference/api/doxygen/inherit_graph_215.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_216.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_217.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_218.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_219.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_220.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_221.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_222.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_223.svg | 18 +-
docs/reference/api/doxygen/inherit_graph_224.svg | 19 +-
docs/reference/api/doxygen/inherit_graph_225.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_226.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_227.svg | 29 +-
docs/reference/api/doxygen/inherit_graph_228.svg | 24 +-
docs/reference/api/doxygen/inherit_graph_229.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_230.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_231.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_232.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_233.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_234.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_235.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_236.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_237.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_238.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_239.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_240.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_241.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_242.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_243.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_244.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_245.svg | 12 +-
...inherit_graph_245.svg => inherit_graph_246.svg} | 0
docs/reference/api/doxygen/inherits.html | 280 +-
docs/reference/api/doxygen/map_8h__dep__incl.svg | 48 +-
docs/reference/api/doxygen/menudata.js | 2 +
docs/reference/api/doxygen/namespacemembers_b.html | 7 +-
docs/reference/api/doxygen/namespacemembers_c.html | 9 +-
docs/reference/api/doxygen/namespacemembers_d.html | 9 +-
.../api/doxygen/namespacemembers_func_b.html | 9 +-
.../api/doxygen/namespacemembers_func_c.html | 9 +-
.../api/doxygen/namespacemembers_func_d.html | 7 +-
.../api/doxygen/namespacemembers_func_h.html | 6 +
.../api/doxygen/namespacemembers_func_n.html | 3 +
.../api/doxygen/namespacemembers_func_p.html | 6 +
.../api/doxygen/namespacemembers_func_r.html | 8 +-
.../api/doxygen/namespacemembers_func_t.html | 12 +-
.../api/doxygen/namespacemembers_func_v.html | 3 -
...33_000013.html => namespacemembers_func_x.html} | 17 +-
docs/reference/api/doxygen/namespacemembers_h.html | 6 +
docs/reference/api/doxygen/namespacemembers_n.html | 5 +-
docs/reference/api/doxygen/namespacemembers_p.html | 6 +
docs/reference/api/doxygen/namespacemembers_r.html | 8 +-
docs/reference/api/doxygen/namespacemembers_t.html | 6 +
docs/reference/api/doxygen/namespacemembers_v.html | 3 -
..._000033_000013.html => namespacemembers_x.html} | 17 +-
docs/reference/api/doxygen/namespaces.html | 63 +-
.../api/doxygen/namespacetvm_1_1runtime.html | 2 +
.../namespacetvm_1_1runtime_1_1hexagon.html | 725 ++
.../reference/api/doxygen/namespacetvm_1_1tir.html | 29 -
.../doxygen/namespacetvm_1_1tir_1_1transform.html | 31 -
docs/reference/api/doxygen/ndarray_8h.html | 2 +-
.../api/doxygen/ndarray_8h__dep__incl.svg | 1106 +-
.../reference/api/doxygen/object_8h__dep__incl.svg | 212 +-
.../api/doxygen/optional_8h__dep__incl.svg | 156 +-
.../api/doxygen/packed__func_8h__dep__incl.svg | 80 +-
.../runtime_2container_2base_8h__dep__incl.svg | 324 +-
.../api/doxygen/runtime_2memory_8h__dep__incl.svg | 80 +-
.../api/doxygen/runtime_2module_8h__dep__incl.svg | 68 +-
docs/reference/api/doxygen/search/all_10.js | 2 +-
docs/reference/api/doxygen/search/all_11.js | 6 +-
docs/reference/api/doxygen/search/all_13.js | 6 +-
docs/reference/api/doxygen/search/all_14.js | 25 +-
docs/reference/api/doxygen/search/all_15.js | 17 +-
docs/reference/api/doxygen/search/all_16.js | 2 +-
docs/reference/api/doxygen/search/all_17.js | 1 -
docs/reference/api/doxygen/search/all_18.js | 2 +-
docs/reference/api/doxygen/search/all_19.js | 3 +-
docs/reference/api/doxygen/search/all_1a.js | 3 +-
docs/reference/api/doxygen/search/all_1b.js | 59 +-
docs/reference/api/doxygen/search/all_1c.html | 26 +
.../api/doxygen/search/{all_1b.js => all_1c.js} | 0
docs/reference/api/doxygen/search/all_3.js | 1 +
docs/reference/api/doxygen/search/all_4.js | 4 +-
docs/reference/api/doxygen/search/all_5.js | 1 +
docs/reference/api/doxygen/search/all_6.js | 2 +-
docs/reference/api/doxygen/search/all_8.js | 1 +
docs/reference/api/doxygen/search/all_9.js | 2 +
docs/reference/api/doxygen/search/all_a.js | 2 +-
docs/reference/api/doxygen/search/all_e.js | 6 +-
docs/reference/api/doxygen/search/all_f.js | 1 +
docs/reference/api/doxygen/search/classes_10.js | 9 +-
docs/reference/api/doxygen/search/classes_11.js | 6 +-
docs/reference/api/doxygen/search/classes_4.js | 2 +-
docs/reference/api/doxygen/search/classes_8.js | 2 +-
docs/reference/api/doxygen/search/classes_a.js | 2 +-
docs/reference/api/doxygen/search/files_2.js | 1 +
docs/reference/api/doxygen/search/functions_10.js | 4 +-
docs/reference/api/doxygen/search/functions_12.js | 4 +-
docs/reference/api/doxygen/search/functions_13.js | 11 +-
docs/reference/api/doxygen/search/functions_14.js | 4 +-
docs/reference/api/doxygen/search/functions_15.js | 2 +-
docs/reference/api/doxygen/search/functions_16.js | 1 -
docs/reference/api/doxygen/search/functions_18.js | 2 +-
docs/reference/api/doxygen/search/functions_19.js | 59 +-
.../reference/api/doxygen/search/functions_1a.html | 26 +
.../doxygen/search/{all_1b.js => functions_1a.js} | 0
docs/reference/api/doxygen/search/functions_2.js | 1 +
docs/reference/api/doxygen/search/functions_3.js | 3 +-
docs/reference/api/doxygen/search/functions_4.js | 1 +
docs/reference/api/doxygen/search/functions_7.js | 1 +
docs/reference/api/doxygen/search/functions_8.js | 2 +
docs/reference/api/doxygen/search/functions_d.js | 4 +-
docs/reference/api/doxygen/search/functions_e.js | 1 +
docs/reference/api/doxygen/search/namespaces_1.js | 1 +
docs/reference/api/doxygen/search/searchdata.js | 4 +-
docs/reference/api/doxygen/search/typedefs_f.js | 2 +-
docs/reference/api/doxygen/serializer_8h.html | 2 +-
.../api/doxygen/serializer_8h__dep__incl.svg | 1094 +-
docs/reference/api/doxygen/shape__tuple_8h.html | 2 +-
.../api/doxygen/shape__tuple_8h__dep__incl.svg | 1102 +-
.../reference/api/doxygen/string_8h__dep__incl.svg | 28 +-
docs/reference/api/doxygen/tir_2analysis_8h.html | 6 -
.../api/doxygen/tir_2analysis_8h_source.html | 4 +-
docs/reference/api/python/auto_scheduler.html | 4 +-
docs/reference/api/python/target.html | 1 -
docs/reference/api/python/tir.html | 63 +-
.../api/typedoc/classes/bytestreamreader.html | 12 +-
.../api/typedoc/classes/cachedcallstack.html | 34 +-
docs/reference/api/typedoc/classes/dldatatype.html | 12 +-
docs/reference/api/typedoc/classes/dldevice.html | 10 +-
.../reference/api/typedoc/classes/environment.html | 12 +-
docs/reference/api/typedoc/classes/ffilibrary.html | 20 +-
.../api/typedoc/classes/graphexecutor.html | 16 +-
docs/reference/api/typedoc/classes/instance.html | 40 +-
docs/reference/api/typedoc/classes/memory.html | 34 +-
docs/reference/api/typedoc/classes/module.html | 10 +-
docs/reference/api/typedoc/classes/ndarray.html | 22 +-
.../api/typedoc/classes/packedfunccell.html | 6 +-
docs/reference/api/typedoc/classes/rpcserver.html | 14 +-
docs/reference/api/typedoc/classes/scalar.html | 6 +-
.../api/typedoc/classes/webgpucontext.html | 12 +-
docs/reference/api/typedoc/enums/argtypecode.html | 30 +-
.../api/typedoc/enums/aynccallbackcode.html | 4 +-
.../api/typedoc/enums/dldatatypecode.html | 8 +-
.../api/typedoc/enums/rpcserverstate.html | 12 +-
docs/reference/api/typedoc/enums/sizeof.html | 18 +-
docs/reference/api/typedoc/index.html | 112 +-
.../api/typedoc/interfaces/disposable.html | 2 +-
.../api/typedoc/interfaces/functioninfo.html | 6 +-
.../api/typedoc/interfaces/libraryprovider.html | 4 +-
docs/searchindex.js | 2 +-
.../vta/tutorials/autotvm/sg_execution_times.html | 4 +-
.../vta/tutorials/autotvm/tune_relay_vta.html | 2 +-
.../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 | 274 +-
docs/tutorial/cross_compilation_and_rpc.html | 2 +-
docs/tutorial/intro_topi.html | 4 +-
docs/tutorial/relay_quick_start.html | 2 +-
docs/tutorial/sg_execution_times.html | 22 +-
docs/tutorial/tensor_expr_get_started.html | 43 +-
510 files changed, 30530 insertions(+), 29062 deletions(-)
diff --git a/docs/_images/sphx_glr_micro_train_001.png b/docs/_images/sphx_glr_micro_train_001.png
index cdece017f1..0fd9c0ef04 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 3ea3b2a601..2b4fe4d842 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 c17e069f2a..313db78549 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -315,7 +315,7 @@ The process is no different from other examples.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 13.889 seconds)
+ **Total running time of the script:** ( 1 minutes 13.976 seconds)
.. _sphx_glr_download_how_to_compile_models_from_darknet.py:
diff --git a/docs/_sources/how_to/compile_models/from_keras.rst.txt b/docs/_sources/how_to/compile_models/from_keras.rst.txt
index 35ff6fe2ee..999e338f35 100644
--- a/docs/_sources/how_to/compile_models/from_keras.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_keras.rst.txt
@@ -228,7 +228,7 @@ Look up prediction top 1 index in 1000 class synset.
.. code-block:: none
Relay top-1 id: 285, class name: Egyptian cat
-
1/1 [==============================] - ETA: 0s
1/1 [==============================] - 1s 958ms/step
+
1/1 [==============================] - ETA: 0s
1/1 [==============================] - 1s 975ms/step
Keras top-1 id: 285, class name: Egyptian cat
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 b680012603..dcf9ad40ef 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -115,7 +115,7 @@ In this section, we download a pretrained imagenet model and classify an image.
.. code-block:: none
- Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip410ebc78-fa41-484a-a007-b6e78027fcf0 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+ Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip57d14a94-0a42-4700-807a-4d22ec8427b8 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 866212a82a..dcc35be628 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -116,7 +116,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]
20%|#9 | 8.12M/41.5M [00:00<00:00, 85.0MB/s]
39%|###9 | 16.2M/41.5M [00:00<00:00, 48.9MB/s]
63%|######2 | 26.1M/41.5M [00:00<00:00, 45.9MB/s]
77%|#######7 | 32.0M/41.5M [00:00<00:00, 46.4MB/s]
92%|#########2| 38.3M/41.5M [00:00<00:00, 36.8MB/s]
100%|##########| 41.5M/41.5M [00:01<00:00, 41.1MB/s]
+
0%| | 0.00/41.5M [00:00<?, ?B/s]
19%|#9 | 7.99M/41.5M [00:00<00:00, 46.5MB/s]
35%|###5 | 14.7M/41.5M [00:00<00:00, 56.9MB/s]
49%|####9 | 20.4M/41.5M [00:00<00:00, 50.8MB/s]
61%|######1 | 25.5M/41.5M [00:00<00:00, 34.7MB/s]
77%|#######7 | 32.0M/41.5M [00:00<00:00, 40.4MB/s]
92%|#########2| 38.3M/41.5M [00:00<00:00, 42.9MB/s]
100%|##########| 41.5M/41.5M [00:00<00:00, 43.6MB/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 e2babdf61b..3bd4b7d3f0 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -98,7 +98,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, 72.6MB/s]
36%|###6 | 16.1M/44.7M [00:00<00:00, 79.5MB/s]
54%|#####3 | 24.0M/44.7M [00:00<00:00, 80.7MB/s]
76%|#######5 | 33.8M/44.7M [00:00<00:00, 89.2MB/s]
95%|#########4| 42.3M/44.7M [00:00<00:00, 87.1MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 87.8MB/s]
+
0%| | 0.00/44.7M [00:00<?, ?B/s]
19%|#8 | 8.34M/44.7M [00:00<00:00, 87.5MB/s]
37%|###7 | 16.7M/44.7M [00:00<00:00, 63.4MB/s]
54%|#####3 | 24.0M/44.7M [00:00<00:00, 68.3MB/s]
69%|######8 | 30.8M/44.7M [00:00<00:00, 66.7MB/s]
84%|########3 | 37.3M/44.7M [00:00<00:00, 60.7MB/s]
97%|#########6| 43.3M/44.7M [00:00<00:00, 54.5MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 53.9MB/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 143803122d..b9d2dd89d3 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -416,7 +416,7 @@ Run the corresponding model on tensorflow
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 11.783 seconds)
+ **Total running time of the script:** ( 1 minutes 15.324 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 3a89198615..55f8584fe4 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
=================
-**05:47.464** total execution time for **how_to_compile_models** files:
+**05:55.535** total execution time for **how_to_compile_models** files:
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:13.889 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:15.324 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:11.783 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:13.976 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:47.088 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:48.533 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:32.668 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:31.710 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:27.836 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:29.632 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:26.782 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:27.007 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:24.676 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:25.860 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:22.396 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:23.372 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:17.860 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:17.665 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.486 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.455 | 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 60d001e73b..629c0c4bff 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
@@ -723,13 +723,18 @@ 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)
- 2759.1538 2758.6797 2762.3322 2756.9490 1.7848
+ 3347.5165 3346.7660 3352.4634 3345.3769 2.0688
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** ( 1 minutes 1.717 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_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index 4a37f095bf..047cb229a4 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
@@ -433,7 +433,7 @@ Execute on TVM
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 16.3971 16.2932 17.4048 15.9455 0.4637
+ 16.4930 16.4087 17.1734 15.9196 0.4538
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 39290a25c2..de384176be 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
@@ -127,7 +127,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]
5%|4 | 7.99M/170M [00:00<00:02, 77.7MB/s]
9%|9 | 16.1M/170M [00:00<00:01, 82.1MB/s]
14%|#4 | 24.4M/170M [00:00<00:01, 84.0MB/s]
19%|#9 | 32.4M/170M [00:00<00:02, 66.5MB/s]
26%|##5 | 43.7M/170M [00:00<00:01, 82.5MB/s]
35%|###4 | 58.6M/170M [00:00<00:01, 103MB/s]
41%|#### | 69.0M/170M [00:00<00:01, 94.8MB/s]
49%|####8 | 82.5M/170M [00:00<00:00, 108MB/s]
55%|#####4 | 93.2M/170M [00:01<00:00, 105MB/s]
61%|###### | 104M/170M [00:01<00:00, 105MB/s]
67%|######6 | 114M/170M [00:01<00:00, 105MB/s]
75%|#######5 | 128M/170M [00:01<00:00, 99.5MB/s]
81%|########1 | 138M/170M [00:01<00:00, 99.3MB/s]
87%|########6 | 147M/170M [00:01<00:00, 85.8MB/s]
92%|#########1| 156M/170M [00:01<00:00, 82.9MB/s]
97%|#########6| 164M/170M [00:01<00:00, 66.8MB/s]
100%|##########| 170M/170M [00:02<00:00, 88.1MB/s]
+
0%| | 0.00/170M [00:00<?, ?B/s]
5%|4 | 7.99M/170M [00:00<00:03, 47.5MB/s]
9%|9 | 16.0M/170M [00:00<00:03, 49.5MB/s]
13%|#3 | 22.3M/170M [00:00<00:02, 54.4MB/s]
18%|#7 | 30.3M/170M [00:00<00:02, 60.4MB/s]
21%|##1 | 36.2M/170M [00:00<00:02, 56.4MB/s]
25%|##4 | 41.7M/170M [00:00<00:02, 53.4MB/s]
28%|##8 | 48.0M/170M [00:00<00:02, 47.0MB/s]
33%|###2 | 56.0M/170M [00:01<00:02, 52.9MB/s]
37%|###6 | 62.3M/170M [00:01<00:02, 54.1MB/s]
40%|###9 | 67.6M/170M [00:01<00:02, 49.3MB/s]
43%|####2 | 72.4M/170M [00:01<00:02, 47.0MB/s]
47%|####7 | 80.0M/170M [00:01<00:02, 46.2MB/s]
51%|##### | 86.5M/170M [00:01<00:01, 51.4MB/s]
54%|#####3 | 91.6M/170M [00:01<00:01, 47.1MB/s]
57%|#####7 | 97.0M/170M [00:02<00:01, 49.3MB/s]
61%|######1 | 104M/170M [00:02<00:01, 47.4MB/s]
66%|######5 | 112M/170M [00:02<00:01, 51.7MB/s
]
69%|######8 | 117M/170M [00:02<00:01, 46.9MB/s]
74%|#######4 | 126M/170M [00:02<00:00, 54.1MB/s]
77%|#######7 | 132M/170M [00:02<00:00, 52.1MB/s]
81%|########1 | 138M/170M [00:02<00:00, 56.0MB/s]
88%|########8 | 150M/170M [00:02<00:00, 72.0MB/s]
93%|#########2| 157M/170M [00:03<00:00, 62.7MB/s]
96%|#########6| 164M/170M [00:03<00:00, 52.4MB/s]
99%|#########9| 169M/170M [00:03<00:00, 51.9MB/s]
100%|##########| 170M/170M [00:03<00:00, 52.6MB/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').
@@ -296,7 +296,7 @@ Get boxes with score larger than 0.9
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 18.669 seconds)
+ **Total running time of the script:** ( 3 minutes 22.462 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 39a6432880..603c030daf 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -236,7 +236,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]
74%|#######4 | 10.1M/13.6M [00:00<00:00, 106MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 89.6MB/s]
+
0%| | 0.00/13.6M [00:00<?, ?B/s]
47%|####6 | 6.30M/13.6M [00:00<00:00, 59.1MB/s]
90%|########9 | 12.2M/13.6M [00:00<00:00, 46.7MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 52.6MB/s]
@@ -418,7 +418,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.5629 90.4978 93.3052 90.1424 0.3764
+ 90.4884 90.4255 91.8401 90.0948 0.3519
@@ -467,7 +467,7 @@ TODO
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 6.934 seconds)
+ **Total running time of the script:** ( 1 minutes 7.476 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 1907d6e88d..b63a0f2fa9 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
@@ -432,7 +432,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.3317 120.1745 124.9000 119.0818 0.8623
+ 120.8212 120.7602 123.5113 119.9575 0.4473
@@ -469,7 +469,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 22.579 seconds)
+ **Total running time of the script:** ( 2 minutes 25.104 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 dedbc4b49b..884bca69bb 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -253,7 +253,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 34.966 seconds)
+ **Total running time of the script:** ( 1 minutes 33.016 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 168f30791d..32f847d006 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
@@ -166,7 +166,7 @@ Convert and compile model for CPU.
data: None
input_sym_arg_type = in_param.infer_type()[0]
Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
0%| | 0/132723 [00:00<?, ?KB/s]
4%|4 | 5781/132723 [00:00<00:02, 57801.10KB/s]
10%|# | 13645/132723 [00:00<00:01, 70049.01KB/s]
16%|#5 | 20650/132723 [00:00<00:01, 61793.77KB/s]
21%|##1 | 28503/132723 [00:00<00:01, 67903.95KB/s]
27%|##7 | 36334/132723 [00:00<00:01, 71470.53KB/s]
33%|###2 | 43576/132723 [00:01<00:04, 20581.95KB/s]
37%|###7 | 49140/132723 [00:01<00:03, 23410.10KB/s]
42%|####2 | 55772/132723 [00:01<00:02, 29341.70KB/s]
48%|####7 | 63166/132723 [00:01<00:01, 36695.89KB/s]
52%|#####2 | 69102/132723 [00:01<00:01, 40470.44KB/s]
58%|#####7 | 76351/132723 [00:01<00:01, 42878.79KB/s]
62%|######1 | 81905/132723 [00:02<00:01, 45231.81KB/s]
68%|######7 | 89612/132723 [00:02<00:00, 52676.35KB/s]
74%|#######3 | 97674/132723 [00:02<00:00, 59672.59KB/s]
80%|#######9 | 105559/132723 [00:02<00:00, 64723.86KB/s]
86%|########5
| 113506/132723 [00:02<00:00, 68753.44KB/s]
92%|#########1| 121466/132723 [00:02<00:00, 71799.03KB/s]
98%|#########7| 129408/132723 [00:02<00:00, 73975.47KB/s]
100%|##########| 132723/132723 [00:02<00:00, 48532.86KB/s]
+
0%| | 0/132723 [00:00<?, ?KB/s]
4%|3 | 4800/132723 [00:00<00:02, 47993.18KB/s]
9%|9 | 12384/132723 [00:00<00:01, 64368.32KB/s]
14%|#4 | 19099/132723 [00:00<00:01, 57831.61KB/s]
20%|## | 26646/132723 [00:00<00:01, 64266.23KB/s]
26%|##6 | 34519/132723 [00:00<00:01, 69220.98KB/s]
32%|###1 | 42470/132723 [00:00<00:01, 72601.42KB/s]
38%|###7 | 50394/132723 [00:00<00:01, 74721.18KB/s]
44%|####3 | 58337/132723 [00:00<00:00, 76193.33KB/s]
50%|####9 | 66344/132723 [00:00<00:00, 77386.56KB/s]
56%|#####6 | 74381/132723 [00:01<00:00, 78295.81KB/s]
62%|######2 | 82438/132723 [00:01<00:00, 78986.51KB/s]
68%|######8 | 90351/132723 [00:01<00:00, 78873.91KB/s]
74%|#######4 | 98288/132723 [00:01<00:00, 73746.92KB/s]
80%|#######9 | 105737/132723 [00:01<00:00, 73188.72KB/s]
86%|########5 | 113843/132723 [00:01<00:00, 75458.28KB/s]
91%|#########
1| 121434/132723 [00:01<00:00, 67489.88KB/s]
97%|#########7| 129396/132723 [00:01<00:00, 70778.89KB/s]
100%|##########| 132723/132723 [00:01<00:00, 72133.22KB/s]
@@ -242,7 +242,7 @@ Display result
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 3.566 seconds)
+ **Total running time of the script:** ( 3 minutes 2.935 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 92082a0b7a..93470a347f 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,26 +5,26 @@
Computation times
=================
-**13:47.636** total execution time for **how_to_deploy_models** files:
+**14:00.097** total execution time for **how_to_deploy_models** files:
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:18.669 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:22.462 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 03:03.566 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 03:02.935 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:22.579 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:25.104 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:34.966 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:33.016 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:06.934 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:07.476 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 00:54.349 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``) | 01:01.717 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:36.467 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:36.594 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:25.309 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:25.588 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:24.791 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:25.200 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``) | 00:00.007 | 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 3e67362dc4..48348a137a 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
@@ -472,7 +472,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.zip470f7e27-c603-4af7-aee9-57c5b98a0281 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+ Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipc39dcf1c-2d7e-42d1-bb4b-39a11d8f1dd1 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 c95a3e7333..832e1ffb5d 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:48.070** total execution time for **how_to_extend_tvm** files:
+**00:48.726** 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:44.559 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:45.217 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.467 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.450 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.037 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.051 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``) | 00:00.008 | 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 44aed3d933..cbf6547f0b 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
@@ -216,10 +216,10 @@ profile the execution time of each passes.
.. code-block:: none
Printing results of timing profile...
- InferType: 7278us [7278us] (46.51%; 46.51%)
- FoldScaleAxis: 8371us [7us] (53.49%; 53.49%)
- FoldConstant: 8364us [1711us] (53.44%; 99.91%)
- InferType: 6653us [6653us] (42.51%; 79.54%)
+ InferType: 7808us [7808us] (48.12%; 48.12%)
+ FoldScaleAxis: 8418us [7us] (51.88%; 51.88%)
+ FoldConstant: 8411us [1702us] (51.84%; 99.92%)
+ InferType: 6709us [6709us] (41.35%; 79.77%)
@@ -258,10 +258,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
.. code-block:: none
Printing results of timing profile...
- InferType: 6722us [6722us] (44.87%; 44.87%)
- FoldScaleAxis: 8259us [5us] (55.13%; 55.13%)
- FoldConstant: 8253us [1693us] (55.09%; 99.94%)
- InferType: 6561us [6561us] (43.80%; 79.49%)
+ InferType: 6755us [6755us] (45.12%; 45.12%)
+ FoldScaleAxis: 8217us [5us] (54.88%; 54.88%)
+ FoldConstant: 8212us [1705us] (54.85%; 99.94%)
+ InferType: 6507us [6507us] (43.47%; 79.24%)
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 2a29fe90df..abdf89afd7 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
@@ -340,7 +340,7 @@ latency of convolution.
.. code-block:: none
- Convolution: 43.233119 ms
+ Convolution: 54.130718 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 bdf0c403e1..ca26d719de 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
@@ -657,7 +657,7 @@ be able to run on our build server
.. code-block:: none
- conv2d with tensor core: 13.369456 ms
+ conv2d with tensor core: 12.831728 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 961fac3cac..457272c223 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -143,8 +143,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
.. code-block:: none
- Numpy running time: 0.018572
- Baseline: 3.238095
+ Numpy running time: 0.019482
+ Baseline: 3.428264
@@ -238,7 +238,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
.. code-block:: none
- Opt1: 0.298859
+ Opt1: 0.308294
@@ -340,7 +340,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
.. code-block:: none
- Opt2: 0.344994
+ Opt2: 0.341451
@@ -435,7 +435,7 @@ the access pattern for A matrix is more cache friendly.
.. code-block:: none
- Opt3: 0.116641
+ Opt3: 0.122504
@@ -559,7 +559,7 @@ flattening.
.. code-block:: none
- Opt4: 0.109901
+ Opt4: 0.109853
@@ -680,7 +680,7 @@ write to C when all the block results are ready.
.. code-block:: none
- Opt5: 0.110611
+ Opt5: 0.111467
@@ -804,7 +804,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
.. code-block:: none
- Opt6: 0.147471
+ Opt6: 0.147933
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 424141fd75..49fe605a22 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
Computation times
=================
-**00:34.659** total execution time for **how_to_optimize_operators** files:
+**00:35.469** total execution time for **how_to_optimize_operators** files:
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:31.940 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:32.737 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.560 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.543 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.159 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.189 | 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 48af387ba2..92df8fe085 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
=================
-**08:56.904** total execution time for **how_to_tune_with_autoscheduler** files:
+**08:55.442** 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``) | 05:32.158 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 05:29.647 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:32.047 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:32.670 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:01.196 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:01.590 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:28.031 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:28.079 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:12.104 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:12.134 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:11.369 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:11.322 | 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 8eb4b73810..374d4a6bd0 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
@@ -239,11 +239,11 @@ cooperative fetching, unrolling and operator fusion.
bias: Buffer(bias_2: Pointer(float32), float32, [1, 512, 1, 1], []),
compute: Buffer(compute_2: Pointer(float32), float32, [1, 512, 7, 7], [])}
buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute} {
- attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 16;
+ attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 28;
allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
- allocate(pad_temp.shared: Pointer(shared float32), float32, [1296]), storage_scope = shared;
- allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
- attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
+ allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+ allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+ attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope="local", align=32)[0] = 0f32
conv2d_nchw_1[1] = 0f32
conv2d_nchw_1[2] = 0f32
@@ -258,381 +258,463 @@ cooperative fetching, unrolling and operator fusion.
conv2d_nchw_1[11] = 0f32
conv2d_nchw_1[12] = 0f32
conv2d_nchw_1[13] = 0f32
- for (rc.outer.outer: int32, 0, 32) {
- let cse_var_2: int32 = (rc.outer.outer*784)
- let cse_var_1: int32 = (rc.outer.outer*144)
- {
- attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1: Buffer(pad_temp.shared, float32, [1296], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((9 <= floormod(threadIdx.x_1, 81)) && (floormod(threadIdx.x_1, 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data_3: Buffer(data_2, float32, [25088], [])[((((cse_var_2 + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 31), 81)) && (floormod((threadIdx.x_1 + 31), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 31), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 62), 81)) && (floormod((threadIdx.x_1 + 62), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 62), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 336)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 12), 81)) && (floormod((threadIdx.x_1 + 12), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 336), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 12), 81), 9)*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 43), 81)) && (floormod((threadIdx.x_1 + 43), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 448), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 43), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 560)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 74), 81)) && (floormod((threadIdx.x_1 + 74), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 560), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 74), 81), 9)*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 24), 81)) && (floormod((threadIdx.x_1 + 24), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 672), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 24), 81), 9)*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 784)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 55), 81)) && (floormod((threadIdx.x_1 + 55), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 784), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 55), 81), 9)*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 5), 81)) && (floormod((threadIdx.x_1 + 5), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 896), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 5), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 1008)] = @tir.if_then_else(((((1 <= floormod((floordiv(threadIdx.x_1, 9) + 4), 9)) && (floormod((threadIdx.x_1 + 36), 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1008), 81)*49)) + (floormod((floordiv(threadIdx.x_1, 9) + 4), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 1120)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 67), 81)) && (floormod((threadIdx.x_1 + 67), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1120), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 67), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_1 < 64), dtype=bool) {
- pad_temp.shared_1[(threadIdx.x_1 + 1232)] = @tir.if_then_else((((threadIdx.x_1 < 55) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1232), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 17), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
- }
- attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[threadIdx.x_2] = kernel_3: Buffer(kernel_2, float32, [2359296], [])[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 112)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 112), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 224)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 224), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 336)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 336), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 448)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 448), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 560)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 560), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 672)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 672), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 784)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 784), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 896)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 896), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1120), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1232), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1344), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1456), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1568), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1680), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1792), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1904), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2128), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2240), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2352)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2352), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2464), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2576)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2576), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2688), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2800)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2800), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2912), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3024)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3136), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3248)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3248), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3360), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3472)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3472), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3584), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3696)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3696), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3808), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3920)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3920), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4144)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4144), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4256), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4368)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4368), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4480), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_2 < 16), dtype=bool) {
- kernel.shared_1[(threadIdx.x_2 + 4592)] = kernel_3[(((((blockIdx.x*147456) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3)) + 142848)]
- }
- for (rc.outer.inner: int32, 0, 8) {
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*162) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((rc.outer.inner*162) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 153)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 153)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 154)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 154)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 155)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 155)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
+ for (rc.outer.outer: int32, 0, 64) {
+ for (ry.outer.outer: int32, 0, 3) {
+ let cse_var_2: int32 = (rc.outer.outer*72)
+ let cse_var_1: int32 = (ry.outer.outer*3)
+ {
+ attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope="shared")[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1*4), 9))) && (floormod((threadIdx.x_1*4), 9) < 8)), data_3: Buffer(data_2, float32, [25088], [])[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + fl [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 1), 9))) && (floormod(((threadIdx.x_1*4) + 1), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 2), 9))) && (floormod(((threadIdx.x_1*4) + 2), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 3), 9))) && (floormod(((threadIdx.x_1*4) + 3), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], 0f32, dtype=float32)
+ }
+ }
+ attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope="shared")[threadIdx.x_2] = kernel_3: Buffer(kernel_2, float32, [2359296], [])[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 64)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 128)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 192)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 256)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 320)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 384)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 448)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 512)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 576)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 640)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 704)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 768)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 832)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 896)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 960)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2368), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2432), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2560), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2624), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2752), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2816), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2944), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3008), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
}
}
}
for (i1.inner: int32, 0, 2) {
- for (i2.inner: int32, 0, 7) {
- compute_3: Buffer(compute_2, float32, [25088], [])[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[((i1.inner*7) + i2.inner)] + bias_3: Buffer(bias_2, float32, [512], [])[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
+ for (i3.inner: int32, 0, 7) {
+ compute_3: Buffer(compute_2, float32, [25088], [])[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias_3: Buffer(bias_2, float32, [512], [])[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
}
}
}
@@ -688,7 +770,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 0.219 ms
+ Execution time of this operator: 0.358 ms
@@ -736,36 +818,36 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
- conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
- conv2d_nchw_ff_o_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=16)
+ conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
+ conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+ conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=64)
conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
- conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
+ conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
- conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
- conv2d_nchw_xx_o_o_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_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
+ conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
- conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
+ conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
- conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=3)
- conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
- conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+ conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
+ conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+ conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2 [...]
compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
- compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=16)
+ compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
- compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=7)
+ compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
- compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
- compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+ compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
+ compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
@@ -785,12 +867,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=112)
+ kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
- pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+ pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=4)
s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
- pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=112)
+ pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 512)
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
@@ -810,10 +892,10 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
#define int64_t long long
#define uint64_t unsigned long long
#endif
- extern "C" __global__ void __launch_bounds__(112) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+ extern "C" __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
float conv2d_nchw[14];
- __shared__ float pad_temp_shared[1296];
- __shared__ float kernel_shared[4608];
+ __shared__ float pad_temp_shared[72];
+ __shared__ float kernel_shared[3072];
conv2d_nchw[0] = 0.000000e+00f;
conv2d_nchw[1] = 0.000000e+00f;
conv2d_nchw[2] = 0.000000e+00f;
@@ -828,325 +910,411 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
conv2d_nchw[11] = 0.000000e+00f;
conv2d_nchw[12] = 0.000000e+00f;
conv2d_nchw[13] = 0.000000e+00f;
- for (int rc_outer_outer = 0; rc_outer_outer < 32; ++rc_outer_outer) {
- __syncthreads();
- pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 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) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x))];
- kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 112) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 336) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 560) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 784) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32256)];
- kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1232) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1456) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1680) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1904) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 64512)];
- kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2128) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2352) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2464) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2576) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2688) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2800) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2912) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 96768)];
- kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3136) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3248) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3360) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3472) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3584) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3696) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3808) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3920) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 129024)];
- kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4144) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4256) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4368) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4480) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- if (((int)threadIdx.x) < 16) {
- kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[(((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 128) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3)) + 142848)];
- }
- __syncthreads();
- for (int rc_outer_inner = 0; rc_outer_inner < 8; ++rc_outer_inner) {
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_outer_inner * 162) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_outer_inner * 162) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 153)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 153)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 154)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 154)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 155)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 155)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
+ for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
+ for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+ __syncthreads();
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) * 4) % 9))) && (((((int)threadIdx.x) * 4) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 1) % 9))) && ((((((int)threadIdx.x) * 4) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 2) % 9))) && ((((((int)threadIdx.x) * 4) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 3) % 9))) && ((((((int)threadIdx.x) * 4) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+ kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+ kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+ kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+ kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+ kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+ kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+ kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+ kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+ kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+ kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+ kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+ kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+ kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+ kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+ kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ __syncthreads();
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
}
}
for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
- for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
- compute[(((((((int)blockIdx.x) * 1568) + ((((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) * 32) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+ for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+ compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
}
}
}
@@ -1209,7 +1377,7 @@ In the example below we resume the status and do more 5 trials.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 5 minutes 32.158 seconds)
+ **Total running time of the script:** ( 5 minutes 29.647 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 3a9b441327..ec0bb54840 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
@@ -643,7 +643,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)
- 7.8762 7.8741 7.8957 7.8589 0.0151
+ 7.9002 7.8995 7.9105 7.8905 0.0082
@@ -671,7 +671,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 1.196 seconds)
+ **Total running time of the script:** ( 1 minutes 1.590 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 6ffb372162..0e0526555e 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
@@ -662,7 +662,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)
- 755.9799 756.7106 757.0075 754.2215 1.2493
+ 759.0213 759.4156 759.5093 758.1390 0.6250
@@ -690,7 +690,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 32.047 seconds)
+ **Total running time of the script:** ( 1 minutes 32.670 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 da0c8b4253..1522ae7a1c 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
@@ -386,27 +386,75 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [128, 512], []),
compute: Buffer(compute_2: Pointer(float32), float32, [128, 512], [])}
buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute} {
- for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
- allocate(compute_3: Pointer(global float32), float32, [512]), storage_scope = global {
+ for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
+ allocate(compute_3: Pointer(global float32), float32, [2048]), storage_scope = global {
for (nb_j.inner: int32, 0, 2) {
- for (i.inner.init: int32, 0, 16) {
- for (j.init: int32, 0, 16) {
- compute_4: Buffer(compute_3, float32, [512], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
+ for (i.inner.init: int32, 0, 64) {
+ let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+ {
+ compute_4: Buffer(compute_3, float32, [2048], [])[cse_var_1] = 0f32
+ compute_4[(cse_var_1 + 1)] = 0f32
+ compute_4[(cse_var_1 + 2)] = 0f32
+ compute_4[(cse_var_1 + 3)] = 0f32
+ compute_4[(cse_var_1 + 4)] = 0f32
+ compute_4[(cse_var_1 + 5)] = 0f32
+ compute_4[(cse_var_1 + 6)] = 0f32
+ compute_4[(cse_var_1 + 7)] = 0f32
+ compute_4[(cse_var_1 + 8)] = 0f32
+ compute_4[(cse_var_1 + 9)] = 0f32
+ compute_4[(cse_var_1 + 10)] = 0f32
+ compute_4[(cse_var_1 + 11)] = 0f32
+ compute_4[(cse_var_1 + 12)] = 0f32
+ compute_4[(cse_var_1 + 13)] = 0f32
+ compute_4[(cse_var_1 + 14)] = 0f32
+ compute_4[(cse_var_1 + 15)] = 0f32
}
}
- for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_15: Buffer(placeholder_13, int32, [33], [])[(cse_var_1 + 1)] - placeholder_15[cse_var_1])) {
- for (i.inner: int32, 0, 16) {
- for (j: int32, 0, 16) {
- let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
- let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
- compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_16: Buffer(placeholder_11, float32, [78656], [])[(((placeholder_15[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder_17: Buffer(placeholder_10, float32, [32768], [])[(((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.inner*256)) + placeholder_18: Buffer(placeholder_12, int32, [4916], [])[(placeholder_15[cse_var_3] + elem_idx)])], 0f32)))
+ for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_15: Buffer(placeholder_13, int32, [33], [])[(cse_var_2 + 1)] - placeholder_15[cse_var_2])) {
+ for (i.inner: int32, 0, 64) {
+ let cse_var_21: int32 = (elem_idx*16)
+ let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+ let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+ let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.inner*256))
+ let cse_var_17: int32 = (cse_var_20 + 9)
+ let cse_var_16: int32 = (cse_var_20 + 8)
+ let cse_var_15: int32 = (cse_var_20 + 7)
+ let cse_var_14: int32 = (cse_var_20 + 6)
+ let cse_var_13: int32 = (cse_var_20 + 5)
+ let cse_var_12: int32 = (cse_var_20 + 4)
+ let cse_var_11: int32 = (cse_var_20 + 3)
+ let cse_var_10: int32 = (cse_var_20 + 2)
+ let cse_var_9: int32 = (cse_var_20 + 15)
+ let cse_var_8: int32 = (cse_var_20 + 14)
+ let cse_var_7: int32 = (cse_var_20 + 13)
+ let cse_var_6: int32 = (cse_var_20 + 12)
+ let cse_var_5: int32 = (cse_var_20 + 11)
+ let cse_var_4: int32 = (cse_var_20 + 10)
+ let cse_var_3: int32 = (cse_var_20 + 1)
+ {
+ compute_4[cse_var_20] = (compute_4[cse_var_20] + (placeholder_16: Buffer(placeholder_11, float32, [78656], [])[((placeholder_15[cse_var_19]*16) + cse_var_21)]*max(placeholder_17: Buffer(placeholder_10, float32, [32768], [])[(cse_var_18 + placeholder_18: Buffer(placeholder_12, int32, [4916], [])[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_3] = (compute_4[cse_var_3] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_10] = (compute_4[cse_var_10] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_11] = (compute_4[cse_var_11] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_12] = (compute_4[cse_var_12] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_13] = (compute_4[cse_var_13] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_14] = (compute_4[cse_var_14] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_15] = (compute_4[cse_var_15] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_16] = (compute_4[cse_var_16] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_17] = (compute_4[cse_var_17] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_4] = (compute_4[cse_var_4] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_5] = (compute_4[cse_var_5] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_6] = (compute_4[cse_var_6] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_7] = (compute_4[cse_var_7] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_8] = (compute_4[cse_var_8] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_9] = (compute_4[cse_var_9] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
}
}
}
}
- for (i0.inner: int32, 0, 16) {
- let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
- compute_5: Buffer(compute_2, float32, [65536], [])[ramp(cse_var_4, 1, 32)] = max((compute_4[ramp((i0.inner*32), 1, 32)] + placeholder_19: Buffer(placeholder_14, float32, [65536], [])[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+ for (i0.inner: int32, 0, 64) {
+ let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+ compute_5: Buffer(compute_2, float32, [65536], [])[ramp(cse_var_22, 1, 32)] = max((compute_4[ramp((i0.inner*32), 1, 32)] + placeholder_19: Buffer(placeholder_14, float32, [65536], [])[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
}
}
}
@@ -462,7 +510,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 1.500 ms
+ Execution time of this operator: 1.872 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 eb22421b58..30a1cfcc17 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
Computation times
=================
-**00:36.157** total execution time for **how_to_tune_with_autotvm** files:
+**00:39.746** 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:36.122 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``) | 00:39.710 | 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 |
+--------------------------------------------------------------------------------------------------+-----------+--------+
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 0617aaaf42..c3bed8f811 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
@@ -266,9 +266,9 @@ for this template
device available
Get devices for measurement successfully!
No: 1 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -301,11 +301,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -329,7 +329,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -357,11 +357,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -385,13 +385,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5725173
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 512, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8948994
No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -424,11 +424,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -452,7 +452,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -480,11 +480,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -508,13 +508,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1502662
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3517510
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__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -547,11 +547,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -575,7 +575,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -603,11 +603,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -631,13 +631,15 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 1, 256]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3398117
- No: 4 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2678036
+ No: 4 GFLOPS: 168.40/168.40 result: MeasureResult(costs=(0.0013747016164383562,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.750566005706787, timestamp=1669944964.7984207) [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,815999
+ No: 5 GFLOPS: 6.57/168.40 result: MeasureResult(costs=(0.03525939175,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6852843761444092, timestamp=1669944966.6496644) [('tile_f', [-1, 16, 4, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5682016
+ No: 6 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -670,11 +672,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -698,7 +700,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -726,11 +728,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -754,13 +756,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 1, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5775362
- No: 5 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7617027
+ No: 7 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -793,11 +795,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -821,7 +823,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -849,11 +851,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -877,13 +879,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,950458
- No: 6 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7929386
+ No: 8 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -916,11 +918,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -944,7 +946,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -972,11 +974,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1000,13 +1002,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1774279
- No: 7 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1329448
+ No: 9 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1039,11 +1041,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1067,7 +1069,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1095,11 +1097,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1123,13 +1125,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 4, 64]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4421107
- No: 8 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 2, 64]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,963145
+ No: 10 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1162,11 +1164,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1190,7 +1192,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1218,11 +1220,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1246,15 +1248,14 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6054196
- No: 9 GFLOPS: 62.21/62.21 result: MeasureResult(costs=(0.003721080674418605,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.198905944824219, timestamp=1669925187.6235414) [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9397530
- No: 10 GFLOPS: 24.14/62.21 result: MeasureResult(costs=(0.009589893636363636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.2840280532836914, timestamp=1669925188.342286) [('tile_f', [-1, 2, 8, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5071620
- No: 11 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9816587
+ No: 11 GFLOPS: 5.46/168.40 result: MeasureResult(costs=(0.04242870325,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.306490182876587, timestamp=1669944970.187844) [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3105046
+ No: 12 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1287,11 +1288,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1315,7 +1316,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1343,11 +1344,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1371,13 +1372,14 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3813106
- No: 12 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5483639
+ No: 13 GFLOPS: 64.80/168.40 result: MeasureResult(costs=(0.0035725881379310345,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.234379529953003, timestamp=1669944972.6000133) [('tile_f', [-1, 8, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9166313
+ No: 14 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1410,11 +1412,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1438,7 +1440,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1466,11 +1468,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1494,13 +1496,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('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', 1500), ('unroll_explicit', 1)],None,10292979
- No: 13 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9265882
+ No: 15 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1533,11 +1535,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1561,7 +1563,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1589,11 +1591,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1617,13 +1619,13 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8934870
- No: 14 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 64, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3740048
+ No: 16 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1656,11 +1658,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1684,7 +1686,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1712,11 +1714,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1740,14 +1742,14 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,375028
- No: 15 GFLOPS: 291.58/291.58 result: MeasureResult(costs=(0.0007939590640394088,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.30177903175354, timestamp=1669925189.9380887) [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6250210
- No: 16 GFLOPS: 0.00/291.58 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6942273
+ No: 17 GFLOPS: 2.42/168.40 result: MeasureResult(costs=(0.09557201374999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=9.238000869750977, timestamp=1669944984.5149977) [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4877393
+ No: 18 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1780,11 +1782,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1808,7 +1810,7 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1836,11 +1838,11 @@ for this template
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1864,257 +1866,28 @@ for this template
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6648761
- No: 17 GFLOPS: 76.88/291.58 result: MeasureResult(costs=(0.0030112359999999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.845435857772827, timestamp=1669925198.9765935) [('tile_f', [-1, 1, 1, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9312435
- No: 18 GFLOPS: 0.00/291.58 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_host=task.target_host, 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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, 64, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1210896
- No: 19 GFLOPS: 1.35/291.58 result: MeasureResult(costs=(0.17110185225000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.638166666030884, timestamp=1669925201.5347054) [('tile_f', [-1, 1, 2, 256]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3718218
- No: 20 GFLOPS: 0.00/291.58 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_host=task.target_host, 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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, 128, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5860631
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 8, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1533703
+ No: 19 GFLOPS: 3.22/168.40 result: MeasureResult(costs=(0.0718483885,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.148777961730957, timestamp=1669944985.8546658) [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5681484
+ No: 20 GFLOPS: 0.00/168.40 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, 8, 4, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,846018
@@ -2169,9 +1942,9 @@ and measure running time.
Finish loading 20 records
Best config:
- [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6250210
+ [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,815999
Finish loading 20 records
- Time cost of this operator: 0.001184
+ Time cost of this operator: 0.000914
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_relay_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_relay_cuda.rst.txt
index b676946b63..48272354eb 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_relay_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_relay_cuda.rst.txt
@@ -185,7 +185,7 @@ Before tuning, we apply some configurations.
.. code-block:: none
- /workspace/python/tvm/target/target.py:397: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
+ /workspace/python/tvm/target/target.py:393: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
warnings.warn("Try specifying cuda arch by adding 'arch=sm_xx' to your target.")
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 49bcd7473f..c13f95ea8e 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
@@ -329,10 +329,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 310.6 98.708 (1, 2, 10, 10, 3) 2 1 [310.6]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.077 0.978 (1, 6, 10, 10) 1 1 [3.077]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.988 0.314 (1, 1, 10, 10, 3) 1 1 [0.988]
- Total_time - 314.665 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 311.4 98.716 (1, 2, 10, 10, 3) 2 1 [311.4]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.077 0.975 (1, 6, 10, 10) 1 1 [3.077]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.975 0.309 (1, 1, 10, 10, 3) 1 1 [0.975]
+ Total_time - 315.452 - - - - -
@@ -397,10 +397,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 102.9 97.476 (1, 6, 10, 10, 1) 2 1 [102.9]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.806 1.711 (1, 6, 10, 10) 1 1 [1.806]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.859 0.813 (1, 3, 10, 10, 1) 1 1 [0.859]
- Total_time - 105.564 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 134.7 97.935 (1, 6, 10, 10, 1) 2 1 [134.7]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.872 1.361 (1, 6, 10, 10) 1 1 [1.872]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.969 0.704 (1, 1, 10, 10, 3) 1 1 [0.969]
+ Total_time - 137.541 - - - - -
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 96dcf62f75..67db85dbc6 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
@@ -109,7 +109,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, 107MB/s]
+
0%| | 0.00/3.42M [00:00<?, ?B/s]
100%|##########| 3.42M/3.42M [00:00<00:00, 98.0MB/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.
@@ -314,7 +314,7 @@ Look up prediction top 1 index in 1000 class synset.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 3.611 seconds)
+ **Total running time of the script:** ( 1 minutes 3.707 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 1106035288..cb79e450c4 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -225,7 +225,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
.. code-block:: none
- '/tmp/tmpa_1psqlr/images/random'
+ '/tmp/tmpzjx903ni/images/random'
@@ -316,7 +316,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], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]
+ :alt: [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.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
@@ -325,8 +325,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
.. code-block:: none
- /tmp/tmpa_1psqlr/images/target contains 8144 images
- /tmp/tmpa_1psqlr/images/random contains 5000 images
+ /tmp/tmpzjx903ni/images/target contains 8144 images
+ /tmp/tmpzjx903ni/images/random contains 5000 images
@@ -501,13 +501,13 @@ the time on our validation set).
.. code-block:: none
Epoch 1/3
- 328/328 - 47s - loss: 0.2388 - accuracy: 0.9216 - val_loss: 0.1168 - val_accuracy: 0.9607 - 47s/epoch - 143ms/step
+ 328/328 - 47s - loss: 0.2107 - accuracy: 0.9245 - val_loss: 0.1564 - val_accuracy: 0.9532 - 47s/epoch - 145ms/step
Epoch 2/3
- 328/328 - 44s - loss: 0.1131 - accuracy: 0.9590 - val_loss: 0.1981 - val_accuracy: 0.9275 - 44s/epoch - 133ms/step
+ 328/328 - 43s - loss: 0.0876 - accuracy: 0.9672 - val_loss: 0.1978 - val_accuracy: 0.9430 - 43s/epoch - 132ms/step
Epoch 3/3
- 328/328 - 43s - loss: 0.0740 - accuracy: 0.9729 - val_loss: 0.0972 - val_accuracy: 0.9668 - 43s/epoch - 132ms/step
+ 328/328 - 44s - loss: 0.0654 - accuracy: 0.9748 - val_loss: 0.1185 - val_accuracy: 0.9637 - 44s/epoch - 133ms/step
- <keras.callbacks.History object at 0x7fe1a804d650>
+ <keras.callbacks.History object at 0x7f1c8ec4cc90>
@@ -864,7 +864,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 4 minutes 40.874 seconds)
+ **Total running time of the script:** ( 4 minutes 39.883 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 f33d427cf9..5424e8b71d 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,18 +5,18 @@
Computation times
=================
-**06:47.466** total execution time for **how_to_work_with_microtvm** files:
+**06:47.094** 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:40.874 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 04:39.883 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:03.611 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``) | 01:03.707 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 00:50.653 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 00:51.008 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:08.536 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:08.554 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:03.791 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:03.939 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``) | 00:00.001 | 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 ff21e800c4..397f8f20f3 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:39.619** total execution time for **how_to_work_with_relay** files:
+**00:45.536** 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.066 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:33.727 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:04.808 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:10.343 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.739 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.459 | 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 |
+----------------------------------------------------------------------------------------------------+-----------+--------+
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 bfc08f2879..a150e8dcc7 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
@@ -261,7 +261,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
.. code-block:: none
- <function my_cuda_math_rule at 0x7fe221957710>
+ <function my_cuda_math_rule at 0x7f1c894c0d40>
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 7b91cc3c84..5f56ce7590 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,22 +5,22 @@
Computation times
=================
-**00:04.891** total execution time for **how_to_work_with_schedules** files:
+**00:04.946** 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:02.341 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``) | 00:02.388 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.189 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.158 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.582 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.602 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.567 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.582 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``) | 00:00.114 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``) | 00:00.117 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.050 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.030 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``) | 00:00.029 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``) | 00:00.020 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index d165ea9c53..150d16859d 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -343,7 +343,7 @@ The importing needs to happen before the tensorized GEMV being executed.
B: Buffer(B_2: Pointer(float32), float32, [512, 64], []),
C: Buffer(C_2: Pointer(float32), float32, [1024, 512], [])}
buffer_map = {A_1: A, B_1: B, C_1: C} {
- attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpbt8ked8y/input0.cc'\nsource_filename = \"/tmp/tmpbt8ked8y/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n %7 = alloca float*, align 8\n %8 = alloca float*, align 8\n %9 = alloca floa [...]
+ attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmp87cxaejm/input0.cc'\nsource_filename = \"/tmp/tmp87cxaejm/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n %7 = alloca float*, align 8\n %8 = alloca float*, align 8\n %9 = alloca floa [...]
for (i, 0, 1024) {
for (j.outer: int32, 0, 32) {
@tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
index 69a45e75ff..4e4f8799f9 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:26.353** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:27.208** 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:26.347 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:27.201 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``) | 00:00.006 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/tune_relay_vta.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/tune_relay_vta.rst.txt
index e909bd8040..ef00d71070 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/tune_relay_vta.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/tune_relay_vta.rst.txt
@@ -536,7 +536,7 @@ Finally, we launch tuning jobs and evaluate the end-to-end performance.
.. code-block:: none
Extract tasks...
- /workspace/python/tvm/target/target.py:281: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
+ /workspace/python/tvm/target/target.py:277: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
"target_host parameter is going to be deprecated. "
Extracted 10 conv2d tasks:
(1, 56, 56, 64, 64, 3, 3, 1, 1, 1, 1)
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 872fe56d04..2731db312e 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -289,7 +289,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 29.77s!
+ resnet18_v1 inference graph built in 30.35s!
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 7c90c68d38..f577150844 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -333,7 +333,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 19.71s!
+ yolov3-tiny inference graph built in 19.95s!
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 ff0f722d0b..1b49a38c2c 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:41.940** total execution time for **topic_vta_tutorials_frontend** files:
+**01:42.836** total execution time for **topic_vta_tutorials_frontend** files:
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:52.230 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:52.324 | 0.0 MB |
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:49.709 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:50.513 | 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 fe2d01728e..eb1ce315ba 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.147** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.202** total execution time for **topic_vta_tutorials_optimize** files:
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.669 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.717 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.478 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.485 | 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 8493b76db0..f3463fe631 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.877** total execution time for **topic_vta_tutorials** files:
+**00:00.886** total execution time for **topic_vta_tutorials** files:
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.478 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.482 | 0.0 MB |
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.398 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.404 | 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 4db846ecff..bcd6fb3abf 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -325,7 +325,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 95.584 ms
+ Execution time of this operator: 95.681 ms
@@ -443,7 +443,7 @@ operations.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 28.413 seconds)
+ **Total running time of the script:** ( 1 minutes 17.542 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 f2ea568956..398ff444cb 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -450,16 +450,16 @@ reduce variance, we take 5 measurements and average them.
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 10.94/10.94 result: MeasureResult(costs=(0.0245335456,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5536513328552246, timestamp=1669923766.7386873) [('tile_y', [-1, 2]), ('tile_x', [-1, 256])],None,81
- No: 2 GFLOPS: 11.69/11.69 result: MeasureResult(costs=(0.022963718,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5923411846160889, timestamp=1669923767.312237) [('tile_y', [-1, 32]), ('tile_x', [-1, 32])],None,55
- No: 3 GFLOPS: 12.35/12.35 result: MeasureResult(costs=(0.021730554399999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.520205020904541, timestamp=1669923768.5764506) [('tile_y', [-1, 8]), ('tile_x', [-1, 256])],None,83
- No: 4 GFLOPS: 3.92/12.35 result: MeasureResult(costs=(0.0685608216,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2628114223480225, timestamp=1669923770.5878031) [('tile_y', [-1, 64]), ('tile_x', [-1, 16])],None,46
- No: 5 GFLOPS: 9.95/12.35 result: MeasureResult(costs=(0.0269886844,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6414477825164795, timestamp=1669923771.3489761) [('tile_y', [-1, 512]), ('tile_x', [-1, 128])],None,79
- No: 6 GFLOPS: 12.63/12.63 result: MeasureResult(costs=(0.021254071,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.516197681427002, timestamp=1669923771.859938) [('tile_y', [-1, 32]), ('tile_x', [-1, 128])],None,75
- No: 7 GFLOPS: 10.85/12.63 result: MeasureResult(costs=(0.024742156199999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6028096675872803, timestamp=1669923773.178632) [('tile_y', [-1, 4]), ('tile_x', [-1, 128])],None,72
- No: 8 GFLOPS: 10.27/12.63 result: MeasureResult(costs=(0.026141716200000005,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6350319385528564, timestamp=1669923773.802411) [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
- No: 9 GFLOPS: 9.04/12.63 result: MeasureResult(costs=(0.029707870600000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.598355770111084, timestamp=1669923774.5139868) [('tile_y', [-1, 4]), ('tile_x', [-1, 32])],None,52
- No: 10 GFLOPS: 2.72/12.63 result: MeasureResult(costs=(0.0988073784,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.700753927230835, timestamp=1669923776.2644334) [('tile_y', [-1, 2]), ('tile_x', [-1, 8])],None,31
+ No: 1 GFLOPS: 2.96/2.96 result: MeasureResult(costs=(0.09074568400000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6231820583343506, timestamp=1669943528.650206) [('tile_y', [-1, 2]), ('tile_x', [-1, 16])],None,41
+ No: 2 GFLOPS: 14.14/14.14 result: MeasureResult(costs=(0.018980692799999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5594737529754639, timestamp=1669943529.1591585) [('tile_y', [-1, 32]), ('tile_x', [-1, 64])],None,65
+ No: 3 GFLOPS: 10.02/14.14 result: MeasureResult(costs=(0.0267957846,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5848932266235352, timestamp=1669943530.5258021) [('tile_y', [-1, 2]), ('tile_x', [-1, 32])],None,51
+ No: 4 GFLOPS: 3.90/14.14 result: MeasureResult(costs=(0.0688899368,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.261366367340088, timestamp=1669943531.7957447) [('tile_y', [-1, 32]), ('tile_x', [-1, 16])],None,45
+ No: 5 GFLOPS: 2.49/14.14 result: MeasureResult(costs=(0.10780348039999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8718509674072266, timestamp=1669943533.8018613) [('tile_y', [-1, 1]), ('tile_x', [-1, 16])],None,40
+ No: 6 GFLOPS: 9.64/14.14 result: MeasureResult(costs=(0.0278424112,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5970680713653564, timestamp=1669943535.188809) [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+ No: 7 GFLOPS: 4.15/14.14 result: MeasureResult(costs=(0.0646627756,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1959679126739502, timestamp=1669943537.1531177) [('tile_y', [-1, 16]), ('tile_x', [-1, 16])],None,44
+ No: 8 GFLOPS: 4.41/14.14 result: MeasureResult(costs=(0.060874074599999994,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1768558025360107, timestamp=1669943538.334357) [('tile_y', [-1, 8]), ('tile_x', [-1, 16])],None,43
+ No: 9 GFLOPS: 11.26/14.14 result: MeasureResult(costs=(0.023838207,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5281772613525391, timestamp=1669943538.9783995) [('tile_y', [-1, 256]), ('tile_x', [-1, 32])],None,58
+ No: 10 GFLOPS: 3.62/14.14 result: MeasureResult(costs=(0.0741095878,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3323211669921875, timestamp=1669943540.3272638) [('tile_y', [-1, 16]), ('tile_x', [-1, 8])],None,34
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index deef26ea54..14b0400886 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -320,7 +320,7 @@ standard deviation.
.. code-block:: none
- {'mean': 516.2943852100125, 'median': 515.8442538499912, 'std': 1.816301196366439}
+ {'mean': 515.1116352000008, 'median': 515.0883455500207, 'std': 2.2261676267237327}
@@ -554,31 +554,29 @@ the tuning data to.
.. code-block:: none
-
[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 1/25] Current/Best: 14.58/ 14.58 GFLOPS | Progress: (4/20) | 6.99 s
[Task 1/25] Current/Best: 12.95/ 14.58 GFLOPS | Progress: (8/20) | 9.93 s
[Task 1/25] Current/Best: 9.07/ 22.22 GFLOPS | Progress: (12/20) | 12.53 s
[Task 1/25] Current/Best: 12.50/ 22.22 GFLOPS | Progress: (16/20) | 15.84 s
[Task 1/25] Current/Best: 3.21/ 22.22 GFLOPS | Progress: (20/20) | 18.30 s Done.
-
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 16.94/ 17.03 GFLOPS | Progress: (4/20) | 2.90 s
[Task 2/25] Current/Best: 5.72/ 18.37 GFLOPS | Progress: (8/20) | 4.02 s
[Task 2/25] Current/Best: 17.17/ 18.37 GFLOPS | Progress: (12/20) | 5.25 s
[Task 2/25] Current/Best: 11.64/ 18.37 GFLOPS | Progress: (16/20) | 7.12 s
[Task 2/25] Current/Best: 17.97/ 18.37 GFLOPS | Progress: (20/20) | 8.38 s Done.
-
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 3.18/ 15.42 GFLOPS | Progress: (4/20) | 4.51 s
[Task 3/25] Current/Best: 6.58/ 15.42 GFLOPS | Progress: (8/20) | 7.35 s
[Task 3/25] Current/Best: 12.88/ 23.12 GFLOPS | Progress: (12/20) | 9.22 s
[Task 3/25] Current/Best: 14.49/ 23.42 GFLOPS | Progress: (16/20) | 11.19 s
[Task 3/25] Current/Best: 10.48/ 23.42 GFLOPS | Progress: (20/20) | 13.06 s Done.
-
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 12.52/ 15.32 GFLOPS | Progress: (4/20) | 3.27 s
[Task 4/25] Current/Best: 16.82/ 18.75 GFLOPS | Progress: (8/20) | 4.90 s
[Task 4/25] Current/Best: 13.73/ 19.53 GFLOPS | Progress: (12/20) | 6.80 s
[Task 4/25] Current/Best: 7.01/ 20.10 GFLOPS | Progress: (16/20) | 10.85 s
[Task 4/25] Current/Best: 8.81/ 21.11 GFLOPS | Progress: (20/20) | 18.57 s Done.
-
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 15.96/ 15.96 GFLOPS | Progress: (4/20) | 3.00 s
[Task 5/25] Current/Best: 4.19/ 15.96 GFLOPS | Progress: (8/20) | 5.77 s
[Task 5/25] Current/Best: 4.35/ 18.99 GFLOPS | Progress: (12/20) | 7.75 s
[Task 5/25] Current/Best: 4.68/ 18.99 GFLOPS | Progress: (16/20) | 9.39 s
[Task 5/25] Current/Best: 13.59/ 18.99 GFLOPS | Progress: (20/20) | 11.16 s Done.
-
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 20.45/ 20.45 GFLOPS | Progress: (4/20) | 4.02 s
[Task 6/25] Current/Best: 10.45/ 23.04 GFLOPS | Progress: (8/20) | 5.56 s
[Task 6/25] Current/Best: 11.71/ 23.04 GFLOPS | Progress: (12/20) | 9.05 s
[Task 6/25] Current/Best: 10.92/ 23.04 GFLOPS | Progress: (16/20) | 10.90 s
[Task 6/25] Current/Best: 12.98/ 23.04 GFLOPS | Progress: (20/20) | 13.59 s Done.
-
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 14.02/ 19.23 GFLOPS | Progress: (4/20) | 3.96 s
[Task 7/25] Current/Best: 11.45/ 20.12 GFLOPS | Progress: (8/20) | 6.38 s
[Task 7/25] Current/Best: 15.50/ 20.12 GFLOPS | Progress: (12/20) | 8.76 s
[Task 7/25] Current/Best: 15.83/ 20.12 GFLOPS | Progress: (16/20) | 11.03 s
[Task 7/25] Current/Best: 15.97/ 20.12 GFLOPS | Progress: (20/20) | 13.74 s Done.
-
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 12.07/ 20.51 GFLOPS | Progress: (4/20) | 5.36 s
[Task 8/25] Current/Best: 2.90/ 20.51 GFLOPS | Progress: (8/20) | 9.18 s
[Task 8/25] Current/Best: 12.14/ 20.51 GFLOPS | Progress: (12/20) | 12.05 s
[Task 8/25] Current/Best: 8.99/ 20.51 GFLOPS | Progress: (16/20) | 23.33 s
[Task 8/25] Current/Best: 22.95/ 22.95 GFLOPS | Progress: (20/20) | 26.00 s
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 6.03/ 19.23 GFLOPS | Progress: (4/20) | 8.88 s
[Task 9/25] Current/Best: 19.35/ 19.35 GFLOPS | Progress: (8/20) | 10.21 s
[Task 9/25] Current/Best: 12.09/ 19.35 GFLOPS | Progress: (12/20) | 11.81 s
[Task 9/25] Current/Best: 4.81/ 19.35 GFLOPS | Progress: (16/20) | 16.97 s
[Task 9/25] Current/Best: 14.40/ 19.35 GFLOPS | Progress: (20/2
0) | 19.32 s Done.
-
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 14.97/ 15.19 GFLOPS | Progress: (4/20) | 2.89 s
[Task 10/25] Current/Best: 4.06/ 20.03 GFLOPS | Progress: (8/20) | 4.65 s
[Task 10/25] Current/Best: 5.44/ 20.03 GFLOPS | Progress: (12/20) | 6.98 s
[Task 10/25] Current/Best: 13.12/ 20.03 GFLOPS | Progress: (16/20) | 9.55 s
[Task 10/25] Current/Best: 12.39/ 20.03 GFLOPS | Progress: (20/20) | 11.94 s Done.
-
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 16.31/ 16.31 GFLOPS | Progress: (4/20) | 4.09 s
[Task 11/25] Current/Best: 18.37/ 21.45 GFLOPS | Progress: (8/20) | 5.89 s
[Task 11/25] Current/Best: 12.69/ 21.97 GFLOPS | Progress: (12/20) | 8.00 s
[Task 11/25] Current/Best: 6.72/ 21.97 GFLOPS | Progress: (16/20) | 11.51 s
[Task 11/25] Current/Best: 17.85/ 21.97 GFLOPS | Progress: (20/20) | 13.52 s Done.
-
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 20.46/ 20.46 GFLOPS | Progress: (4/20) | 3.85 s
[Task 12/25] Current/Best: 20.77/ 20.77 GFLOPS | Progress: (8/20) | 6.18 s
[Task 12/25] Current/Best: 14.99/ 21.65 GFLOPS | Progress: (12/20) | 12.17 s
[Task 12/25] Current/Best: 21.79/ 21.79 GFLOPS | Progress: (16/20) | 15.77 s
[Task 12/25] Current/Best: 14.20/ 21.79 GFLOPS | Progress: (20/20) | 18.79 s Done.
-
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 14.57/ 20.60 GFLOPS | Progress: (4/20) | 3.84 s
[Task 13/25] Current/Best: 14.02/ 21.00 GFLOPS | Progress: (8/20) | 5.78 s
[Task 13/25] Current/Best: 15.17/ 21.53 GFLOPS | Progress: (12/20) | 8.51 s
[Task 13/25] Current/Best: 11.33/ 21.53 GFLOPS | Progress: (16/20) | 11.66 s
[Task 13/25] Current/Best: 3.11/ 21.53 GFLOPS | Progress: (20/20) | 15.88 s Done.
-
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 10.47/ 11.90 GFLOPS | Progress: (4/20) | 3.82 s
[Task 14/25] Current/Best: 15.54/ 15.54 GFLOPS | Progress: (8/20) | 6.05 s
[Task 14/25] Current/Best: 15.69/ 16.63 GFLOPS | Progress: (12/20) | 8.03 s
[Task 14/25] Current/Best: 22.20/ 22.20 GFLOPS | Progress: (16/20) | 10.12 s
[Task 14/25] Current/Best: 14.54/ 22.20 GFLOPS | Progress: (20/20) | 12.22 s
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 15/25] Current/Best: 17.41/ 17.41 GFLOPS | Progress: (4/20) | 3.51 s
[Task 15/25] Current/Best: 13.49/ 17.41 GFLOPS | Progress: (8/20) | 9.81 s
[Task 15/25] Current/Best: 17.21/ 17.41 GFLOPS | Progress: (12/20) | 11.64 s
[Task 15/25] Current/Best: 13.27/ 20.73 GFLOPS | Progress: (16/20) | 14.19 s
[Task 15/25] Current/Best: 18.29/ 21.40 GFLOPS | Progress: (20/20)
| 15.31 s Done.
-
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 4.74/ 15.38 GFLOPS | Progress: (4/20) | 3.48 s
[Task 16/25] Current/Best: 10.47/ 18.29 GFLOPS | Progress: (8/20) | 5.17 s
[Task 16/25] Current/Best: 5.85/ 18.29 GFLOPS | Progress: (12/20) | 6.56 s
[Task 16/25] Current/Best: 16.52/ 18.29 GFLOPS | Progress: (16/20) | 9.26 s
[Task 16/25] Current/Best: 7.57/ 20.08 GFLOPS | Progress: (20/20) | 12.12 s Done.
-
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 16.36/ 17.92 GFLOPS | Progress: (4/20) | 3.47 s Done.
+
[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 1/25] Current/Best: 13.07/ 19.11 GFLOPS | Progress: (4/20) | 6.13 s
[Task 1/25] Current/Best: 22.31/ 22.31 GFLOPS | Progress: (8/20) | 11.74 s
[Task 1/25] Current/Best: 3.20/ 22.56 GFLOPS | Progress: (12/20) | 14.10 s
[Task 1/25] Current/Best: 12.46/ 22.56 GFLOPS | Progress: (16/20) | 17.26 s
[Task 1/25] Current/Best: 7.92/ 22.56 GFLOPS | Progress: (20/20) | 19.16 s Done.
+
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 9.40/ 18.82 GFLOPS | Progress: (4/20) | 3.33 s
[Task 2/25] Current/Best: 11.00/ 18.82 GFLOPS | Progress: (8/20) | 5.16 s
[Task 2/25] Current/Best: 17.04/ 18.82 GFLOPS | Progress: (12/20) | 6.24 s
[Task 2/25] Current/Best: 15.14/ 18.82 GFLOPS | Progress: (16/20) | 7.97 s
[Task 2/25] Current/Best: 7.76/ 18.82 GFLOPS | Progress: (20/20) | 10.67 s Done.
+
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 23.84/ 23.84 GFLOPS | Progress: (4/20) | 3.21 s
[Task 3/25] Current/Best: 18.39/ 23.84 GFLOPS | Progress: (8/20) | 4.80 s
[Task 3/25] Current/Best: 12.85/ 23.84 GFLOPS | Progress: (12/20) | 7.48 s
[Task 3/25] Current/Best: 16.58/ 23.84 GFLOPS | Progress: (16/20) | 9.09 s
[Task 3/25] Current/Best: 22.46/ 23.84 GFLOPS | Progress: (20/20) | 10.75 s Done.
+
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 13.93/ 18.15 GFLOPS | Progress: (4/20) | 2.86 s
[Task 4/25] Current/Best: 15.98/ 18.15 GFLOPS | Progress: (8/20) | 4.36 s
[Task 4/25] Current/Best: 13.62/ 18.15 GFLOPS | Progress: (12/20) | 9.70 s
[Task 4/25] Current/Best: 7.68/ 18.15 GFLOPS | Progress: (16/20) | 18.12 s
[Task 4/25] Current/Best: 16.50/ 18.15 GFLOPS | Progress: (20/20) | 20.64 s Done.
+
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 4.09/ 18.35 GFLOPS | Progress: (4/20) | 3.93 s
[Task 5/25] Current/Best: 17.79/ 18.35 GFLOPS | Progress: (8/20) | 5.55 s
[Task 5/25] Current/Best: 16.78/ 19.38 GFLOPS | Progress: (12/20) | 7.03 s
[Task 5/25] Current/Best: 5.29/ 19.38 GFLOPS | Progress: (16/20) | 8.93 s
[Task 5/25] Current/Best: 20.94/ 20.94 GFLOPS | Progress: (20/20) | 11.20 s Done.
+
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 11.00/ 14.58 GFLOPS | Progress: (4/20) | 4.19 s
[Task 6/25] Current/Best: 15.18/ 17.63 GFLOPS | Progress: (8/20) | 6.18 s
[Task 6/25] Current/Best: 3.37/ 17.99 GFLOPS | Progress: (12/20) | 9.78 s
[Task 6/25] Current/Best: 11.76/ 19.51 GFLOPS | Progress: (16/20) | 12.47 s
[Task 6/25] Current/Best: 8.54/ 19.98 GFLOPS | Progress: (20/20) | 16.41 s Done.
+
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 20.14/ 20.14 GFLOPS | Progress: (4/20) | 3.61 s
[Task 7/25] Current/Best: 13.76/ 20.41 GFLOPS | Progress: (8/20) | 6.82 s
[Task 7/25] Current/Best: 14.04/ 20.41 GFLOPS | Progress: (12/20) | 8.91 s
[Task 7/25] Current/Best: 10.96/ 20.41 GFLOPS | Progress: (16/20) | 12.02 s
[Task 7/25] Current/Best: 17.21/ 20.41 GFLOPS | Progress: (20/20) | 13.77 s Done.
+
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 15.90/ 15.90 GFLOPS | Progress: (4/20) | 5.94 s
[Task 8/25] Current/Best: 2.28/ 15.90 GFLOPS | Progress: (8/20) | 9.26 s
[Task 8/25] Current/Best: 6.33/ 15.90 GFLOPS | Progress: (12/20) | 12.88 s
[Task 8/25] Current/Best: 14.44/ 18.83 GFLOPS | Progress: (16/20) | 14.62 s
[Task 8/25] Current/Best: 6.06/ 18.83 GFLOPS | Progress: (20/20) | 23.34 s Done.
+
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 18.21/ 18.21 GFLOPS | Progress: (4/20) | 3.40 s
[Task 9/25] Current/Best: 11.30/ 18.21 GFLOPS | Progress: (8/20) | 6.20 s
[Task 9/25] Current/Best: 12.51/ 18.21 GFLOPS | Progress: (12/20) | 7.89 s
[Task 9/25] Current/Best: 8.03/ 18.21 GFLOPS | Progress: (16/20) | 18.83 s
[Task 9/25] Current/Best: 11.05/ 21.67 GFLOPS | Progress: (20/20) | 21.28 s
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 14.65/ 16.23 GFLOPS | Progress: (4/20) | 2.77 s
[Task 10/25] Current/Best: 7.07/ 16.23 GFLOPS | Progress: (8/20) | 4.32 s
[Task 10/25] Current/Best: 7.90/ 20.44 GFLOPS | Progress: (12/20) | 5.88 s
[Task 10/25] Current/Best: 12.15/ 20.44 GFLOPS | Progress: (16/20) | 7.57 s
[Task 10/25] Current/Best: 10.11/ 20.44 GFLOPS | Progress: (20/20) |
11.31 s Done.
+
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 12.31/ 22.73 GFLOPS | Progress: (4/20) | 3.54 s
[Task 11/25] Current/Best: 18.34/ 22.73 GFLOPS | Progress: (8/20) | 5.58 s
[Task 11/25] Current/Best: 17.42/ 22.73 GFLOPS | Progress: (12/20) | 7.76 s
[Task 11/25] Current/Best: 10.02/ 22.73 GFLOPS | Progress: (16/20) | 10.16 s
[Task 11/25] Current/Best: 7.78/ 22.73 GFLOPS | Progress: (20/20) | 12.25 s Done.
+
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 10.26/ 17.76 GFLOPS | Progress: (4/20) | 4.85 s
[Task 12/25] Current/Best: 5.13/ 19.62 GFLOPS | Progress: (8/20) | 10.61 s
[Task 12/25] Current/Best: 18.41/ 19.62 GFLOPS | Progress: (12/20) | 13.91 s
[Task 12/25] Current/Best: 8.95/ 19.62 GFLOPS | Progress: (16/20) | 17.27 s
[Task 12/25] Current/Best: 18.05/ 19.62 GFLOPS | Progress: (20/20) | 20.47 s Done.
+
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 16.27/ 16.27 GFLOPS | Progress: (4/20) | 5.40 s
[Task 13/25] Current/Best: 12.18/ 16.27 GFLOPS | Progress: (8/20) | 8.56 s
[Task 13/25] Current/Best: 10.55/ 21.06 GFLOPS | Progress: (12/20) | 10.66 s
[Task 13/25] Current/Best: 14.99/ 22.26 GFLOPS | Progress: (16/20) | 12.78 s
[Task 13/25] Current/Best: 16.69/ 22.26 GFLOPS | Progress: (20/20) | 14.74 s Done.
+
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 14.79/ 14.79 GFLOPS | Progress: (4/20) | 4.18 s
[Task 14/25] Current/Best: 10.90/ 14.79 GFLOPS | Progress: (8/20) | 6.86 s
[Task 14/25] Current/Best: 9.93/ 14.79 GFLOPS | Progress: (12/20) | 11.01 s
[Task 14/25] Current/Best: 13.99/ 14.79 GFLOPS | Progress: (16/20) | 14.41 s Done.
+
[Task 14/25] Current/Best: 8.03/ 14.79 GFLOPS | Progress: (20/20) | 17.22 s Done.
+
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 15/25] Current/Best: 5.88/ 13.63 GFLOPS | Progress: (4/20) | 5.18 s
[Task 15/25] Current/Best: 19.47/ 19.47 GFLOPS | Progress: (8/20) | 7.84 s
[Task 15/25] Current/Best: 18.31/ 19.47 GFLOPS | Progress: (12/20) | 9.51 s
[Task 15/25] Current/Best: 17.07/ 19.47 GFLOPS | Progress: (16/20) | 14.04 s
[Task 15/25] Current/Best: 18.92/ 19.51 GFLOPS | Progress: (20/20) | 15.49 s
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 10.56/ 14.17 GFLOPS | Progress: (4/20) | 4.50 s
[Task 16/25] Current/Best: 6.86/ 14.17 GFLOPS | Progress: (8/20) | 8.33 s
[Task 16/25] Current/Best: 5.40/ 18.35 GFLOPS | Progress: (12/20) | 9.90 s
[Task 16/25] Current/Best: 13.52/ 20.23 GFLOPS | Progress: (16/20) | 11.77 s
[Task 16/25] Current/Best: 19.49/ 20.23 GFLOPS | Progress: (20/20)
| 13.22 s Done.
+
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 17.52/ 17.52 GFLOPS | Progress: (4/20) | 4.00 s
[Task 17/25] Current/Best: 19.93/ 19.93 GFLOPS | Progress: (8/20) | 6.93 s
[Task 17/25] Current/Best: 3.06/ 22.45 GFLOPS | Progress: (12/20) | 9.33 s
[Task 17/25] Current/Best: 11.88/ 22.45 GFLOPS | Progress: (16/20) | 11.41 s
[Task 17/25] Current/Best: 19.43/ 22.45 GFLOPS | Progress: (20/20) | 14.59 s Done.
+
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 14.90/ 15.27 GFLOPS | Progress: (4/20) | 3.51 s
[Task 18/25] Current/Best: 13.67/ 15.27 GFLOPS | Progress: (8/20) | 7.99 s
[Task 18/25] Current/Best: 16.04/ 16.04 GFLOPS | Progress: (12/20) | 12.05 s
[Task 18/25] Current/Best: 13.06/ 17.56 GFLOPS | Progress: (16/20) | 13.85 s
[Task 18/25] Current/Best: 9.76/ 17.56 GFLOPS | Progress: (20/20) | 16.00 s Done.
+
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 11.12/ 18.06 GFLOPS | Progress: (4/20) | 5.89 s
[Task 19/25] Current/Best: 17.98/ 21.62 GFLOPS | Progress: (8/20) | 8.75 s
[Task 19/25] Current/Best: 12.12/ 21.62 GFLOPS | Progress: (12/20) | 11.02 s
[Task 19/25] Current/Best: 19.52/ 21.62 GFLOPS | Progress: (16/20) | 13.88 s
[Task 19/25] Current/Best: 15.75/ 21.62 GFLOPS | Progress: (20/20) | 17.03 s Done.
+
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 8.71/ 10.91 GFLOPS | Progress: (4/20) | 5.44 s
[Task 20/25] Current/Best: 17.77/ 17.77 GFLOPS | Progress: (8/20) | 7.14 s
[Task 20/25] Current/Best: 19.46/ 19.46 GFLOPS | Progress: (12/20) | 11.74 s
[Task 20/25] Current/Best: 5.29/ 19.46 GFLOPS | Progress: (16/20) | 14.60 s
[Task 20/25] Current/Best: 10.47/ 19.46 GFLOPS | Progress: (20/20) | 16.38 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
Done.
-
[Task 17/25] Current/Best: 16.07/ 22.22 GFLOPS | Progress: (8/20) | 5.46 s
[Task 17/25] Current/Best: 10.30/ 22.22 GFLOPS | Progress: (12/20) | 7.94 s
[Task 17/25] Current/Best: 11.85/ 22.22 GFLOPS | Progress: (16/20) | 10.16 s
[Task 17/25] Current/Best: 3.08/ 22.22 GFLOPS | Progress: (20/20) | 12.58 s Done.
-
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 13.30/ 19.05 GFLOPS | Progress: (4/20) | 3.29 s
[Task 18/25] Current/Best: 11.79/ 19.05 GFLOPS | Progress: (8/20) | 6.73 s
[Task 18/25] Current/Best: 5.05/ 20.57 GFLOPS | Progress: (12/20) | 12.26 s
[Task 18/25] Current/Best: 16.08/ 20.57 GFLOPS | Progress: (16/20) | 15.27 s
[Task 18/25] Current/Best: 10.17/ 20.57 GFLOPS | Progress: (20/20) | 18.69 s Done.
-
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 12.52/ 19.43 GFLOPS | Progress: (4/20) | 3.96 s
[Task 19/25] Current/Best: 7.75/ 20.69 GFLOPS | Progress: (8/20) | 6.44 s
[Task 19/25] Current/Best: 9.01/ 20.69 GFLOPS | Progress: (12/20) | 13.37 s
[Task 19/25] Current/Best: 19.92/ 20.69 GFLOPS | Progress: (16/20) | 15.63 s
[Task 19/25] Current/Best: 11.27/ 20.69 GFLOPS | Progress: (20/20) | 18.64 s Done.
-
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 16.27/ 16.27 GFLOPS | Progress: (4/20) | 3.10 s
[Task 20/25] Current/Best: 9.89/ 16.27 GFLOPS | Progress: (8/20) | 7.19 s
[Task 20/25] Current/Best: 10.50/ 16.27 GFLOPS | Progress: (12/20) | 10.11 s
[Task 20/25] Current/Best: 8.08/ 16.27 GFLOPS | Progress: (16/20) | 11.62 s
[Task 20/25] Current/Best: 11.06/ 16.27 GFLOPS | Progress: (20/20) | 15.24 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 21/25] Current/Best: 6.46/ 17.90 GFLOPS | Progress: (4/20) | 2.89 s
[Task 21/25] Current/Best: 8.92/ 20.19 GFLOPS | Progress: (8/20) | 5.33 s
[Task 21/25] Current/Best: 17.78/ 20.19 GFLOPS | Progress: (12/20) | 6.69 s
[Task 21/25] Current/Best: 16.52/ 20.19 GFLOPS | Progress: (16/20) | 9.23 s Done.
-
[Task 21/25] Current/Best: 5.40/ 20.19 GFLOPS | Progress: (20/20) | 10.67 s Done.
-
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 8.15/ 14.75 GFLOPS | Progress: (4/20) | 3.20 s
[Task 22/25] Current/Best: 14.33/ 14.75 GFLOPS | Progress: (8/20) | 5.46 s
[Task 22/25] Current/Best: 11.13/ 19.80 GFLOPS | Progress: (12/20) | 7.34 s
[Task 22/25] Current/Best: 21.39/ 21.39 GFLOPS | Progress: (16/20) | 8.79 s
[Task 22/25] Current/Best: 2.69/ 21.39 GFLOPS | Progress: (20/20) | 10.93 s Done.
-
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 20.88/ 20.88 GFLOPS | Progress: (4/20) | 4.09 s
[Task 23/25] Current/Best: 11.87/ 20.88 GFLOPS | Progress: (8/20) | 7.84 s
[Task 23/25] Current/Best: 12.29/ 20.88 GFLOPS | Progress: (12/20) | 11.03 s
[Task 23/25] Current/Best: 5.36/ 20.88 GFLOPS | Progress: (16/20) | 14.62 s
[Task 23/25] Current/Best: 18.65/ 20.88 GFLOPS | Progress: (20/20) | 16.67 s Done.
-
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 3.77/ 10.21 GFLOPS | Progress: (4/20) | 9.12 s
[Task 24/25] Current/Best: 5.95/ 10.21 GFLOPS | Progress: (8/20) | 10.43 s
[Task 24/25] Current/Best: 1.65/ 10.21 GFLOPS | Progress: (12/20) | 20.96 s
[Task 24/25] Current/Best: 3.39/ 10.21 GFLOPS | Progress: (16/20) | 32.60 s
[Task 24/25] Current/Best: 3.06/ 10.21 GFLOPS | Progress: (20/20) | 35.55 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 25/25] Current/Best: 1.55/ 5.58 GFLOPS | Progress: (4/20) | 12.07 s Done.
-
[Task 25/25] Current/Best: 5.93/ 5.93 GFLOPS | Progress: (8/20) | 22.79 s
[Task 25/25] Current/Best: 8.33/ 9.70 GFLOPS | Progress: (12/20) | 24.68 s
[Task 25/25] Current/Best: 5.60/ 9.70 GFLOPS | Progress: (16/20) | 29.66 s
[Task 25/25] Current/Best: 8.97/ 9.70 GFLOPS | Progress: (20/20) | 31.91 s
+
[Task 21/25] Current/Best: 15.92/ 19.17 GFLOPS | Progress: (4/20) | 3.58 s
[Task 21/25] Current/Best: 3.10/ 19.25 GFLOPS | Progress: (8/20) | 5.58 s
[Task 21/25] Current/Best: 9.63/ 19.25 GFLOPS | Progress: (12/20) | 8.26 s
[Task 21/25] Current/Best: 6.90/ 19.25 GFLOPS | Progress: (16/20) | 11.48 s
[Task 21/25] Current/Best: 19.35/ 19.35 GFLOPS | Progress: (20/20) | 13.42 s
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 18.84/ 18.84 GFLOPS | Progress: (4/20) | 3.68 s
[Task 22/25] Current/Best: 6.94/ 18.84 GFLOPS | Progress: (8/20) | 5.88 s
[Task 22/25] Current/Best: 5.32/ 18.84 GFLOPS | Progress: (12/20) | 7.66 s
[Task 22/25] Current/Best: 12.91/ 18.84 GFLOPS | Progress: (16/20) | 9.28 s
[Task 22/25] Current/Best: 11.48/ 18.84 GFLOPS | Progress: (20/20) | 11.40 s Done.
+
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 9.42/ 19.27 GFLOPS | Progress: (4/20) | 4.43 s
[Task 23/25] Current/Best: 10.56/ 19.27 GFLOPS | Progress: (8/20) | 11.13 s
[Task 23/25] Current/Best: 8.61/ 19.42 GFLOPS | Progress: (12/20) | 13.88 s
[Task 23/25] Current/Best: 1.55/ 19.42 GFLOPS | Progress: (16/20) | 18.34 s
[Task 23/25] Current/Best: 6.61/ 19.64 GFLOPS | Progress: (20/20) | 21.11 s Done.
+
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 8.17/ 8.17 GFLOPS | Progress: (4/20) | 3.35 s
[Task 24/25] Current/Best: 2.06/ 10.11 GFLOPS | Progress: (8/20) | 12.62 s
[Task 24/25] Current/Best: 1.44/ 10.11 GFLOPS | Progress: (12/20) | 23.39 s
[Task 24/25] Current/Best: 2.05/ 10.11 GFLOPS | Progress: (16/20) | 33.89 s
[Task 24/25] Current/Best: 6.82/ 10.11 GFLOPS | Progress: (20/20) | 45.75 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 25/25] Current/Best: 3.49/ 8.63 GFLOPS | Progress: (4/20) | 3.32 s
[Task 25/25] Current/Best: 5.60/ 8.63 GFLOPS | Progress: (8/20) | 4.54 s
[Task 25/25] Current/Best: 6.15/ 8.63 GFLOPS | Progress: (12/20) | 15.26 s
[Task 25/25] Current/Best: 1.51/ 8.63 GFLOPS | Progress: (16/20) | 26.82 s
[Task 25/25] Current/Best: 1.55/ 8.63 GFLOPS | Progress: (20/2
0) | 37.57 s
@@ -674,8 +672,8 @@ Verify that the optimized model runs and produces the same results:
.. code-block:: none
- class='n02123045 tabby, tabby cat' with probability=0.621102
- class='n02123159 tiger cat' with probability=0.356380
+ 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
@@ -732,8 +730,8 @@ improvement in comparing the optimized model to the unoptimized model.
.. code-block:: none
- optimized: {'mean': 416.0831625300034, 'median': 416.72678354998425, 'std': 2.0900702015451893}
- unoptimized: {'mean': 516.2943852100125, 'median': 515.8442538499912, 'std': 1.816301196366439}
+ optimized: {'mean': 411.3439454299987, 'median': 410.72324484998717, 'std': 3.074787822903088}
+ unoptimized: {'mean': 515.1116352000008, 'median': 515.0883455500207, 'std': 2.2261676267237327}
@@ -756,7 +754,7 @@ profiling/benchmarking.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 10 minutes 24.624 seconds)
+ **Total running time of the script:** ( 10 minutes 54.720 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 7d7e32aa6a..cb345bb4dd 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -270,7 +270,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.261e-07 secs/op
+ 1.305e-07 secs/op
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 027e221c6b..8e4d495260 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -211,7 +211,7 @@ we can schedule the following series of operations ending with :code:`topi.sum`
.. code-block:: none
- /workspace/python/tvm/target/target.py:397: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
+ /workspace/python/tvm/target/target.py:393: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
warnings.warn("Try specifying cuda arch by adding 'arch=sm_xx' to your target.")
@main = primfn(a_1: handle, b_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
@@ -260,7 +260,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
.. code-block:: none
- [stage(a, placeholder(a, 0x2d9f38b0)), stage(b, placeholder(b, 0x27751c30)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
+ [stage(a, placeholder(a, 0x1a805310)), stage(b, placeholder(b, 0x1ad62a60)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
diff --git a/docs/_sources/tutorial/relay_quick_start.rst.txt b/docs/_sources/tutorial/relay_quick_start.rst.txt
index ab6521b26b..f292a73060 100644
--- a/docs/_sources/tutorial/relay_quick_start.rst.txt
+++ b/docs/_sources/tutorial/relay_quick_start.rst.txt
@@ -257,7 +257,7 @@ in this example. Then the machine code will be generated as the module library.
.. code-block:: none
- /workspace/python/tvm/target/target.py:397: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
+ /workspace/python/tvm/target/target.py:393: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
warnings.warn("Try specifying cuda arch by adding 'arch=sm_xx' to your target.")
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 524c34684f..19e8553b18 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
=================
-**13:41.670** total execution time for **tutorial** files:
+**14:09.018** total execution time for **tutorial** files:
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 10:24.624 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 10:54.720 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:28.413 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:17.542 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 00:59.103 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:03.663 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:33.920 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:34.124 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:14.012 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:17.336 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.767 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.788 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:00.665 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:00.664 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.158 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.173 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.005 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
@@ -30,7 +30,7 @@ Computation times
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``) | 00:00.001 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``) | 00:00.001 | 0.0 MB |
-+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_install.py` (``install.py``) | 00:00.001 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``) | 00:00.001 | 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 e7fd6d9fe1..a160e2e548 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -294,7 +294,7 @@ helper function to run a profile of the TVM generated code.
.. code-block:: none
- Numpy running time: 0.000007
+ Numpy running time: 0.000008
naive: 0.000007
@@ -393,7 +393,7 @@ compile and run this new schedule with the parallel operation applied:
.. code-block:: none
- parallel: 0.000007
+ parallel: 0.000009
@@ -499,10 +499,10 @@ We can now compare the different schedules
.. code-block:: none
Operator Timing Performance
- numpy 7.183859997894615e-06 1.0
- naive 6.7121e-06 0.9343305690766699
- parallel 7.156800000000001e-06 0.9962332230997619
- vector 2.4543999999999997e-05 3.416547650871975
+ numpy 8.100479999484377e-06 1.0
+ naive 6.8507e-06 0.8457153156894494
+ parallel 9.480100000000001e-06 1.1703133642208168
+ vector 2.45093e-05 3.025660207982749
@@ -923,7 +923,7 @@ matrix multiplication.
.. code-block:: none
- Numpy running time: 0.018787
+ Numpy running time: 0.019078
@@ -981,7 +981,7 @@ optimizations.
.. code-block:: none
- none: 3.241931
+ none: 3.564022
@@ -1083,7 +1083,7 @@ schedule.
.. code-block:: none
- blocking: 0.309492
+ blocking: 0.318903
@@ -1178,7 +1178,7 @@ already cache friendly from our previous optimizations.
.. code-block:: none
- vectorization: 0.342133
+ vectorization: 0.355484
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], []),
@@ -1251,7 +1251,7 @@ more cache friendly.
.. code-block:: none
- loop permutation: 0.132350
+ loop permutation: 0.124392
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], []),
@@ -1349,7 +1349,7 @@ optimized schedule.
.. code-block:: none
- array packing: 0.109146
+ array packing: 0.110283
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], []),
@@ -1441,7 +1441,7 @@ to `C` when all the block results are ready.
.. code-block:: none
- block caching: 0.110517
+ block caching: 0.111524
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], []),
@@ -1526,7 +1526,7 @@ of thread-level parallelization.
.. code-block:: none
- parallelization: 0.146629
+ parallelization: 0.147629
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1024, 1024], []),
@@ -1606,13 +1606,13 @@ working, we can compare the results.
.. code-block:: none
Operator Timing Performance
- none 3.2419309578 1.0
- blocking 0.3094924632 0.09546547018694809
- vectorization 0.34213314930000005 0.10553375557762473
- loop permutation 0.13235001230000001 0.04082443889854267
- array packing 0.1091457088 0.03366688255263374
- block caching 0.1105170477 0.03408988320189204
- parallelization 0.1466288206 0.045228853577900824
+ none 3.5640218191 1.0
+ blocking 0.3189031811 0.08947845924819017
+ vectorization 0.3554839711 0.09974236666984494
+ loop permutation 0.12439243819999998 0.03490226617956341
+ array packing 0.1102831691 0.030943460701890177
+ block caching 0.1115243762 0.03129172094354982
+ parallelization 0.14762889839999999 0.041421996242795106
@@ -1652,6 +1652,11 @@ operations with tunable parameters that allows you to automatically optimize
the computation for specific platforms.
+.. rst-class:: sphx-glr-timing
+
+ **Total running time of the script:** ( 1 minutes 3.663 seconds)
+
+
.. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
.. only:: html
diff --git a/docs/commit_hash b/docs/commit_hash
index 2315f1af2f..b15e846e84 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-afbfb7aa7e43732cb716f8e443df696110be6afc
+c7d7164c421ead653d1a300a9610e8d9da14722b
diff --git a/docs/genindex.html b/docs/genindex.html
index 1021349aed..1e663ac34d 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -4806,8 +4806,6 @@
<li><a href="reference/api/python/tir.html#tvm.tir.vectorlow">vectorlow() (in module tvm.tir)</a>
</li>
<li><a href="reference/api/python/tir.html#tvm.tir.transform.VerifyMemory">VerifyMemory() (in module tvm.tir.transform)</a>
-</li>
- <li><a href="reference/api/python/tir.html#tvm.tir.transform.VerifyVTCMLimit">VerifyVTCMLimit() (in module tvm.tir.transform)</a>
</li>
<li><a href="reference/api/python/autotvm.html#tvm.autotvm.task.space.VirtualAxis">VirtualAxis (class in tvm.autotvm.task.space)</a>
</li>
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 16712313a2..e41176b4b4 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -585,7 +585,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 13.889 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 13.976 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_keras.html b/docs/how_to/compile_models/from_keras.html
index b1bb52252b..9512a59f0f 100644
--- a/docs/how_to/compile_models/from_keras.html
+++ b/docs/how_to/compile_models/from_keras.html
@@ -506,7 +506,7 @@ pip install -U tensorflow --user
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Relay top-1 id: 285, class name: Egyptian cat
1/1 [==============================] - ETA: 0s
-1/1 [==============================] - 1s 958ms/step
+1/1 [==============================] - 1s 975ms/step
Keras top-1 id: 285, class name: Egyptian cat
</pre></div>
</div>
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 2a2d324b0d..0043cd09aa 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -440,7 +440,7 @@ to download the full example code</p>
<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.zip410ebc78-fa41-484a-a007-b6e78027fcf0 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.zip57d14a94-0a42-4700-807a-4d22ec8427b8 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 7d6ea7861d..efe1f03dfa 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -448,12 +448,13 @@ 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]
- 20%|#9 | 8.12M/41.5M [00:00<00:00, 85.0MB/s]
- 39%|###9 | 16.2M/41.5M [00:00<00:00, 48.9MB/s]
- 63%|######2 | 26.1M/41.5M [00:00<00:00, 45.9MB/s]
- 77%|#######7 | 32.0M/41.5M [00:00<00:00, 46.4MB/s]
- 92%|#########2| 38.3M/41.5M [00:00<00:00, 36.8MB/s]
-100%|##########| 41.5M/41.5M [00:01<00:00, 41.1MB/s]
+ 19%|#9 | 7.99M/41.5M [00:00<00:00, 46.5MB/s]
+ 35%|###5 | 14.7M/41.5M [00:00<00:00, 56.9MB/s]
+ 49%|####9 | 20.4M/41.5M [00:00<00:00, 50.8MB/s]
+ 61%|######1 | 25.5M/41.5M [00:00<00:00, 34.7MB/s]
+ 77%|#######7 | 32.0M/41.5M [00:00<00:00, 40.4MB/s]
+ 92%|#########2| 38.3M/41.5M [00:00<00:00, 42.9MB/s]
+100%|##########| 41.5M/41.5M [00:00<00:00, 43.6MB/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 5d97abd407..7ffd702dfa 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -431,12 +431,13 @@ 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, 72.6MB/s]
- 36%|###6 | 16.1M/44.7M [00:00<00:00, 79.5MB/s]
- 54%|#####3 | 24.0M/44.7M [00:00<00:00, 80.7MB/s]
- 76%|#######5 | 33.8M/44.7M [00:00<00:00, 89.2MB/s]
- 95%|#########4| 42.3M/44.7M [00:00<00:00, 87.1MB/s]
-100%|##########| 44.7M/44.7M [00:00<00:00, 87.8MB/s]
+ 19%|#8 | 8.34M/44.7M [00:00<00:00, 87.5MB/s]
+ 37%|###7 | 16.7M/44.7M [00:00<00:00, 63.4MB/s]
+ 54%|#####3 | 24.0M/44.7M [00:00<00:00, 68.3MB/s]
+ 69%|######8 | 30.8M/44.7M [00:00<00:00, 66.7MB/s]
+ 84%|########3 | 37.3M/44.7M [00:00<00:00, 60.7MB/s]
+ 97%|#########6| 43.3M/44.7M [00:00<00:00, 54.5MB/s]
+100%|##########| 44.7M/44.7M [00:00<00:00, 53.9MB/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 d3aeba76d8..05a2765993 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -645,7 +645,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 11.783 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 15.324 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 d4b1a37f58..12a3e06b6c 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -340,7 +340,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>05:47.464</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:55.535</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 81%" />
@@ -348,44 +348,44 @@
<col style="width: 8%" />
</colgroup>
<tbody>
-<tr class="row-odd"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>01:13.889</p></td>
+<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:15.324</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:11.783</p></td>
+<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:13.976</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:47.088</p></td>
+<td><p>00:48.533</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:32.668</p></td>
+<td><p>00:31.710</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><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:27.836</p></td>
+<td><p>00:29.632</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><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:26.782</p></td>
+<td><p>00:27.007</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
-<td><p>00:24.676</p></td>
+<td><p>00:25.860</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:22.396</p></td>
+<td><p>00:23.372</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:17.860</p></td>
+<td><p>00:17.665</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.486</p></td>
+<td><p>00:02.455</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 e9db92d948..3ab8e87a08 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno.html
@@ -919,9 +919,10 @@ Top5 predictions:
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2759.1538 2758.6797 2762.3322 2756.9490 1.7848
+ 3347.5165 3346.7660 3352.4634 3345.3769 2.0688
</pre></div>
</div>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 1.717 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_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index ce8e4794cb..b4c50b5bb1 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -661,7 +661,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.3971 16.2932 17.4048 15.9455 0.4637
+ 16.4930 16.4087 17.1734 15.9196 0.4538
</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 aefb6f8d50..afd18a59f4 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -453,23 +453,32 @@ 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]
- 5%|4 | 7.99M/170M [00:00<00:02, 77.7MB/s]
- 9%|9 | 16.1M/170M [00:00<00:01, 82.1MB/s]
- 14%|#4 | 24.4M/170M [00:00<00:01, 84.0MB/s]
- 19%|#9 | 32.4M/170M [00:00<00:02, 66.5MB/s]
- 26%|##5 | 43.7M/170M [00:00<00:01, 82.5MB/s]
- 35%|###4 | 58.6M/170M [00:00<00:01, 103MB/s]
- 41%|#### | 69.0M/170M [00:00<00:01, 94.8MB/s]
- 49%|####8 | 82.5M/170M [00:00<00:00, 108MB/s]
- 55%|#####4 | 93.2M/170M [00:01<00:00, 105MB/s]
- 61%|###### | 104M/170M [00:01<00:00, 105MB/s]
- 67%|######6 | 114M/170M [00:01<00:00, 105MB/s]
- 75%|#######5 | 128M/170M [00:01<00:00, 99.5MB/s]
- 81%|########1 | 138M/170M [00:01<00:00, 99.3MB/s]
- 87%|########6 | 147M/170M [00:01<00:00, 85.8MB/s]
- 92%|#########1| 156M/170M [00:01<00:00, 82.9MB/s]
- 97%|#########6| 164M/170M [00:01<00:00, 66.8MB/s]
-100%|##########| 170M/170M [00:02<00:00, 88.1MB/s]
+ 5%|4 | 7.99M/170M [00:00<00:03, 47.5MB/s]
+ 9%|9 | 16.0M/170M [00:00<00:03, 49.5MB/s]
+ 13%|#3 | 22.3M/170M [00:00<00:02, 54.4MB/s]
+ 18%|#7 | 30.3M/170M [00:00<00:02, 60.4MB/s]
+ 21%|##1 | 36.2M/170M [00:00<00:02, 56.4MB/s]
+ 25%|##4 | 41.7M/170M [00:00<00:02, 53.4MB/s]
+ 28%|##8 | 48.0M/170M [00:00<00:02, 47.0MB/s]
+ 33%|###2 | 56.0M/170M [00:01<00:02, 52.9MB/s]
+ 37%|###6 | 62.3M/170M [00:01<00:02, 54.1MB/s]
+ 40%|###9 | 67.6M/170M [00:01<00:02, 49.3MB/s]
+ 43%|####2 | 72.4M/170M [00:01<00:02, 47.0MB/s]
+ 47%|####7 | 80.0M/170M [00:01<00:02, 46.2MB/s]
+ 51%|##### | 86.5M/170M [00:01<00:01, 51.4MB/s]
+ 54%|#####3 | 91.6M/170M [00:01<00:01, 47.1MB/s]
+ 57%|#####7 | 97.0M/170M [00:02<00:01, 49.3MB/s]
+ 61%|######1 | 104M/170M [00:02<00:01, 47.4MB/s]
+ 66%|######5 | 112M/170M [00:02<00:01, 51.7MB/s]
+ 69%|######8 | 117M/170M [00:02<00:01, 46.9MB/s]
+ 74%|#######4 | 126M/170M [00:02<00:00, 54.1MB/s]
+ 77%|#######7 | 132M/170M [00:02<00:00, 52.1MB/s]
+ 81%|########1 | 138M/170M [00:02<00:00, 56.0MB/s]
+ 88%|########8 | 150M/170M [00:02<00:00, 72.0MB/s]
+ 93%|#########2| 157M/170M [00:03<00:00, 62.7MB/s]
+ 96%|#########6| 164M/170M [00:03<00:00, 52.4MB/s]
+ 99%|#########9| 169M/170M [00:03<00:00, 51.9MB/s]
+100%|##########| 170M/170M [00:03<00:00, 52.6MB/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=& [...]
@@ -567,7 +576,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 18.669 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 22.462 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 b69a8f5876..2f7a682e98 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -497,8 +497,9 @@ 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]
- 74%|#######4 | 10.1M/13.6M [00:00<00:00, 106MB/s]
-100%|##########| 13.6M/13.6M [00:00<00:00, 89.6MB/s]
+ 47%|####6 | 6.30M/13.6M [00:00<00:00, 59.1MB/s]
+ 90%|########9 | 12.2M/13.6M [00:00<00:00, 46.7MB/s]
+100%|##########| 13.6M/13.6M [00:00<00:00, 52.6MB/s]
</pre></div>
</div>
</div>
@@ -589,7 +590,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.5629 90.4978 93.3052 90.1424 0.3764
+ 90.4884 90.4255 91.8401 90.0948 0.3519
</pre></div>
</div>
<div class="admonition note">
@@ -628,7 +629,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
<div class="section" id="deploy-a-quantized-tflite-model">
<h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 6.934 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 7.476 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 4d97695723..cc8d39ea8e 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -582,7 +582,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.3317 120.1745 124.9000 119.0818 0.8623
+ 120.8212 120.7602 123.5113 119.9575 0.4473
</pre></div>
</div>
<div class="admonition note">
@@ -610,7 +610,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 22.579 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 25.104 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 9e51767cb1..ef6fb65e00 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -520,7 +520,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 34.966 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 33.016 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 7de5549a71..d9fa570328 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -462,25 +462,24 @@ to your device.</p>
Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
0%| | 0/132723 [00:00<?, ?KB/s]
- 4%|4 | 5781/132723 [00:00<00:02, 57801.10KB/s]
- 10%|# | 13645/132723 [00:00<00:01, 70049.01KB/s]
- 16%|#5 | 20650/132723 [00:00<00:01, 61793.77KB/s]
- 21%|##1 | 28503/132723 [00:00<00:01, 67903.95KB/s]
- 27%|##7 | 36334/132723 [00:00<00:01, 71470.53KB/s]
- 33%|###2 | 43576/132723 [00:01<00:04, 20581.95KB/s]
- 37%|###7 | 49140/132723 [00:01<00:03, 23410.10KB/s]
- 42%|####2 | 55772/132723 [00:01<00:02, 29341.70KB/s]
- 48%|####7 | 63166/132723 [00:01<00:01, 36695.89KB/s]
- 52%|#####2 | 69102/132723 [00:01<00:01, 40470.44KB/s]
- 58%|#####7 | 76351/132723 [00:01<00:01, 42878.79KB/s]
- 62%|######1 | 81905/132723 [00:02<00:01, 45231.81KB/s]
- 68%|######7 | 89612/132723 [00:02<00:00, 52676.35KB/s]
- 74%|#######3 | 97674/132723 [00:02<00:00, 59672.59KB/s]
- 80%|#######9 | 105559/132723 [00:02<00:00, 64723.86KB/s]
- 86%|########5 | 113506/132723 [00:02<00:00, 68753.44KB/s]
- 92%|#########1| 121466/132723 [00:02<00:00, 71799.03KB/s]
- 98%|#########7| 129408/132723 [00:02<00:00, 73975.47KB/s]
-100%|##########| 132723/132723 [00:02<00:00, 48532.86KB/s]
+ 4%|3 | 4800/132723 [00:00<00:02, 47993.18KB/s]
+ 9%|9 | 12384/132723 [00:00<00:01, 64368.32KB/s]
+ 14%|#4 | 19099/132723 [00:00<00:01, 57831.61KB/s]
+ 20%|## | 26646/132723 [00:00<00:01, 64266.23KB/s]
+ 26%|##6 | 34519/132723 [00:00<00:01, 69220.98KB/s]
+ 32%|###1 | 42470/132723 [00:00<00:01, 72601.42KB/s]
+ 38%|###7 | 50394/132723 [00:00<00:01, 74721.18KB/s]
+ 44%|####3 | 58337/132723 [00:00<00:00, 76193.33KB/s]
+ 50%|####9 | 66344/132723 [00:00<00:00, 77386.56KB/s]
+ 56%|#####6 | 74381/132723 [00:01<00:00, 78295.81KB/s]
+ 62%|######2 | 82438/132723 [00:01<00:00, 78986.51KB/s]
+ 68%|######8 | 90351/132723 [00:01<00:00, 78873.91KB/s]
+ 74%|#######4 | 98288/132723 [00:01<00:00, 73746.92KB/s]
+ 80%|#######9 | 105737/132723 [00:01<00:00, 73188.72KB/s]
+ 86%|########5 | 113843/132723 [00:01<00:00, 75458.28KB/s]
+ 91%|#########1| 121434/132723 [00:01<00:00, 67489.88KB/s]
+ 97%|#########7| 129396/132723 [00:01<00:00, 70778.89KB/s]
+100%|##########| 132723/132723 [00:01<00:00, 72133.22KB/s]
</pre></div>
</div>
<p>Create TVM runtime and do inference
@@ -519,7 +518,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> ( 3 minutes 3.566 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 2.935 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 77f327f709..20164a1d66 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -340,7 +340,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>13:47.636</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>14:00.097</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 86%" />
@@ -349,39 +349,39 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>03:18.669</p></td>
+<td><p>03:22.462</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>03:03.566</p></td>
+<td><p>03:02.935</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:22.579</p></td>
+<td><p>02:25.104</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:34.966</p></td>
+<td><p>01:33.016</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></td>
-<td><p>01:06.934</p></td>
+<td><p>01:07.476</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>00:54.349</p></td>
+<td><p>01:01.717</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><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:36.467</p></td>
+<td><p>00:36.594</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><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:25.309</p></td>
+<td><p>00:25.588</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:24.791</p></td>
+<td><p>00:25.200</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index 1962883951..fa42661c1d 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -621,7 +621,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.zip470f7e27-c603-4af7-aee9-57c5b98a0281 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.zipc39dcf1c-2d7e-42d1-bb4b-39a11d8f1dd1 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 828f778dd4..b23328ab08 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -340,7 +340,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:48.070</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:48.726</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -349,15 +349,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:44.559</p></td>
+<td><p>00:45.217</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.467</p></td>
+<td><p>00:02.450</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.037</p></td>
+<td><p>00:01.051</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 7c5dfcb596..ff5366d5f5 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -525,10 +525,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: 7278us [7278us] (46.51%; 46.51%)
-FoldScaleAxis: 8371us [7us] (53.49%; 53.49%)
- FoldConstant: 8364us [1711us] (53.44%; 99.91%)
- InferType: 6653us [6653us] (42.51%; 79.54%)
+InferType: 7808us [7808us] (48.12%; 48.12%)
+FoldScaleAxis: 8418us [7us] (51.88%; 51.88%)
+ FoldConstant: 8411us [1702us] (51.84%; 99.92%)
+ InferType: 6709us [6709us] (41.35%; 79.77%)
</pre></div>
</div>
</div>
@@ -550,10 +550,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: 6722us [6722us] (44.87%; 44.87%)
-FoldScaleAxis: 8259us [5us] (55.13%; 55.13%)
- FoldConstant: 8253us [1693us] (55.09%; 99.94%)
- InferType: 6561us [6561us] (43.80%; 79.49%)
+InferType: 6755us [6755us] (45.12%; 45.12%)
+FoldScaleAxis: 8217us [5us] (54.88%; 54.88%)
+ FoldConstant: 8212us [1705us] (54.85%; 99.94%)
+ InferType: 6507us [6507us] (43.47%; 79.24%)
</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 2f3108bf57..e231cd14df 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -577,7 +577,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: 43.233119 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.130718 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 bb011ffb69..c3add3e0bc 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -914,7 +914,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: 13.369456 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 12.831728 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 826dac2716..db6148ac41 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -474,8 +474,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.018572
-Baseline: 3.238095
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019482
+Baseline: 3.428264
</pre></div>
</div>
<p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -534,7 +534,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.298859
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.308294
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -600,7 +600,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.344994
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.341451
</pre></div>
</div>
<p>Here is the generated IR after vectorization.</p>
@@ -660,7 +660,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.116641
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.122504
</pre></div>
</div>
<p>Here is the generated IR after loop permutation.</p>
@@ -742,7 +742,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.109901
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.109853
</pre></div>
</div>
<p>Here is the generated IR after array packing.</p>
@@ -827,7 +827,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.110611
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111467
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -916,7 +916,7 @@ write to C when all the block results are ready.</p>
<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.147471
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.147933
</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 124eeb11dd..71315efe1d 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -340,7 +340,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:34.659</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:35.469</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -349,15 +349,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:31.940</p></td>
+<td><p>00:32.737</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.560</p></td>
+<td><p>00:01.543</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.159</p></td>
+<td><p>00:01.189</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 a9f843487a..e1d00e061c 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -340,7 +340,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>08:56.904</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>08:55.442</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 85%" />
@@ -349,27 +349,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>05:32.158</p></td>
+<td><p>05:29.647</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:32.047</p></td>
+<td><p>01:32.670</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:01.196</p></td>
+<td><p>01:01.590</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:28.031</p></td>
+<td><p>00:28.079</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:12.104</p></td>
+<td><p>00:12.134</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:11.369</p></td>
+<td><p>00:11.322</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 60bb02d218..d7a2c08cae 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
@@ -503,11 +503,11 @@ cooperative fetching, unrolling and operator fusion.</p>
bias: Buffer(bias_2: Pointer(float32), float32, [1, 512, 1, 1], []),
compute: Buffer(compute_2: Pointer(float32), float32, [1, 512, 7, 7], [])}
buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute} {
- attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 16;
+ attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 28;
allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
- allocate(pad_temp.shared: Pointer(shared float32), float32, [1296]), storage_scope = shared;
- allocate(kernel.shared: Pointer(shared float32), float32, [4608]), storage_scope = shared;
- attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
+ allocate(pad_temp.shared: Pointer(shared float32), float32, [72]), storage_scope = shared;
+ allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+ attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
conv2d_nchw_1: Buffer(conv2d_nchw, float32, [14], [], scope="local", align=32)[0] = 0f32
conv2d_nchw_1[1] = 0f32
conv2d_nchw_1[2] = 0f32
@@ -522,381 +522,463 @@ cooperative fetching, unrolling and operator fusion.</p>
conv2d_nchw_1[11] = 0f32
conv2d_nchw_1[12] = 0f32
conv2d_nchw_1[13] = 0f32
- for (rc.outer.outer: int32, 0, 32) {
- let cse_var_2: int32 = (rc.outer.outer*784)
- let cse_var_1: int32 = (rc.outer.outer*144)
- {
- attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1: Buffer(pad_temp.shared, float32, [1296], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((9 <= floormod(threadIdx.x_1, 81)) && (floormod(threadIdx.x_1, 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data_3: Buffer(data_2, float32, [25088], [])[((((cse_var_2 + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9 [...]
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 112)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 31), 81)) && (floormod((threadIdx.x_1 + 31), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 112), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 31), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 62), 81)) && (floormod((threadIdx.x_1 + 62), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 224), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 62), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 336)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 12), 81)) && (floormod((threadIdx.x_1 + 12), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 3), 9))) && (floormod((threadIdx.x_1 + 3), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 336), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 12), 81), 9)*7)) + floormod((threadIdx.x_1 + 3), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 43), 81)) && (floormod((threadIdx.x_1 + 43), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 448), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 43), 81), 9)*7)) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 560)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 74), 81)) && (floormod((threadIdx.x_1 + 74), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 2), 9))) && (floormod((threadIdx.x_1 + 2), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 560), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 74), 81), 9)*7)) + floormod((threadIdx.x_1 + 2), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 24), 81)) && (floormod((threadIdx.x_1 + 24), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 672), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 24), 81), 9)*7)) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 784)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 55), 81)) && (floormod((threadIdx.x_1 + 55), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 1), 9))) && (floormod((threadIdx.x_1 + 1), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 784), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 55), 81), 9)*7)) + floormod((threadIdx.x_1 + 1), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 5), 81)) && (floormod((threadIdx.x_1 + 5), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 896), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 5), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 1008)] = @tir.if_then_else(((((1 <= floormod((floordiv(threadIdx.x_1, 9) + 4), 9)) && (floormod((threadIdx.x_1 + 36), 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1008), 81)*49)) + (floormod((floordiv(threadIdx.x_1, 9) + 4), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1[(threadIdx.x_1 + 1120)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 67), 81)) && (floormod((threadIdx.x_1 + 67), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 4), 9))) && (floormod((threadIdx.x_1 + 4), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1120), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 67), 81), 9)*7)) + floormod((threadIdx.x_1 + 4), 9)) - 8)], 0f32, dtype=float32)
- attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_1 < 64), dtype=bool) {
- pad_temp.shared_1[(threadIdx.x_1 + 1232)] = @tir.if_then_else((((threadIdx.x_1 < 55) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data_3[((((cse_var_2 + (floordiv((threadIdx.x_1 + 1232), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 17), 81), 9)*7)) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
- }
- attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[threadIdx.x_2] = kernel_3: Buffer(kernel_2, float32, [2359296], [])[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 112)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 112), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 224)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 224), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 336)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 336), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 448)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 448), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 560)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 560), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 672)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 672), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 784)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 784), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 896)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 896), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1120), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1232), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1344), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1456), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1568), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1680), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1792), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1904), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2128), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2240), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2352)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2352), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2464), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2576)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2576), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2688), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2800)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2800), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2912), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3024)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3136)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3136), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3248)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3248), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3360)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3360), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3472)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3472), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3584)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3584), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3696)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3696), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 32), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3808)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3808), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 3920)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 3920), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4032)] = kernel_3[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4144)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4144), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 112), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4256)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4256), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 80), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4368)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4368), 144)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 48)*3)) + floormod(threadIdx.x_2, 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- kernel.shared_1[(threadIdx.x_2 + 4480)] = kernel_3[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 4480), 144)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 144), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_2 < 16), dtype=bool) {
- kernel.shared_1[(threadIdx.x_2 + 4592)] = kernel_3[(((((blockIdx.x*147456) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 128), 144), 3)*3)) + floormod((threadIdx.x_2 + 2), 3)) + 142848)]
- }
- for (rc.outer.inner: int32, 0, 8) {
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*162) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18))]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((rc.outer.inner*162) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 144)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 1)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 145)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 2)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 146)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 9)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 81)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 153)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 10)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 82)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 154)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 11)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 83)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 155)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 3)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 147)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 4)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 148)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 5)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 149)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 12)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 90)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 156)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 13)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 91)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 157)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 14)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 92)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 158)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 6)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 150)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 7)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 151)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 8)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 152)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 153)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 15)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 99)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 108)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 117)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 126)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 135)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 144)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 153)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 159)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 154)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 16)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 100)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 109)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 118)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 127)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 136)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 145)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 154)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 160)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 155)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 17)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 101)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 110)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 119)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 128)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 137)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 146)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*162) + floormod(threadIdx.x, 7)) + 155)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*18)) + 161)]))
+ for (rc.outer.outer: int32, 0, 64) {
+ for (ry.outer.outer: int32, 0, 3) {
+ let cse_var_2: int32 = (rc.outer.outer*72)
+ let cse_var_1: int32 = (ry.outer.outer*3)
+ {
+ attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1: Buffer(pad_temp.shared, float32, [72], [], scope="shared")[(threadIdx.x_1*4)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod((threadIdx.x_1*4), 9))) && (floormod((threadIdx.x_1*4), 9) < 8)), data_3: Buffer(data_2, float32, [25088], [])[((((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*4), 9)*49)) + (ry.outer.out [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 1)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 1), 9))) && (floormod(((threadIdx.x_1*4) + 1), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 1), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 1), 9)) - 8)], [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 2)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 2), 9))) && (floormod(((threadIdx.x_1*4) + 2), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 2), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 2), 9)) - 8)], [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 18), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*4) + 3)] = @tir.if_then_else(((((1 <= (ry.outer.outer + floormod(blockIdx.x, 7))) && ((ry.outer.outer + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(((threadIdx.x_1*4) + 3), 9))) && (floormod(((threadIdx.x_1*4) + 3), 9) < 8)), data_3[((((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*4) + 3), 9)*49)) + (ry.outer.outer*7)) + (floormod(blockIdx.x, 7)*7)) + floormod(((threadIdx.x_1*4) + 3), 9)) - 8)], [...]
+ }
+ }
+ attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope="shared")[threadIdx.x_2] = kernel_3: Buffer(kernel_2, float32, [2359296], [])[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 64)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 128)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 192)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 36864)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 256)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 320)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 384)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 73728)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 448)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 512)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 576)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 110592)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 640)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 704)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 768)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 147456)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 832)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 896)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 960)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 184320)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 221184)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 294912)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 331776)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 368640)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 405504)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2304)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 442368)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2368)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2368), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2432)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2432), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2496)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 479232)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2560)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2560), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2624)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2624), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 516096)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2752)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2752), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2816)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2816), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2880)] = kernel_3[(((((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 24)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 24), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 552960)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 2944)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2944), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 16), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
+ kernel.shared_1[(threadIdx.x_2 + 3008)] = kernel_3[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 3008), 24)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 8), 24), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*48)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 3)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 24)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 27)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 1)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 4)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 25)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 28)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 2)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 5)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*48) + 26)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*48) + 29)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 6)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 9)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 30)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 33)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 7)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 10)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 31)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 34)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 8)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 11)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*48) + 32)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*48) + 35)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 12)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 15)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 36)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 39)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 13)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 16)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 37)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 40)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 14)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 17)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*48) + 38)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*48) + 41)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 18)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 21)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[54]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[63]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 42)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 45)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 19)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 22)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[55]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[64]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 43)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 46)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 20)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 23)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[56]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[65]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[57]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[66]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[58]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[67]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[59]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[68]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[60]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[69]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[61]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[70]*kernel.shared_1[((threadIdx.x*48) + 47)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[62]*kernel.shared_1[((threadIdx.x*48) + 44)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[71]*kernel.shared_1[((threadIdx.x*48) + 47)]))
}
}
}
for (i1.inner: int32, 0, 2) {
- for (i2.inner: int32, 0, 7) {
- compute_3: Buffer(compute_2, float32, [25088], [])[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[((i1.inner*7) + i2.inner)] + bias_3: Buffer(bias_2, float32, [512], [])[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
+ for (i3.inner: int32, 0, 7) {
+ compute_3: Buffer(compute_2, float32, [25088], [])[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + i3.inner)] = max((conv2d_nchw_1[((i1.inner*7) + i3.inner)] + bias_3: Buffer(bias_2, float32, [512], [])[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
}
}
}
@@ -934,7 +1016,7 @@ cooperative fetching, unrolling and operator fusion.</p>
<span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.219 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.358 ms
</pre></div>
</div>
</div>
@@ -963,36 +1045,36 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
-conv2d_nchw_ff_o_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=16)
+conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
+conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=64)
conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
-conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
+conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
-conv2d_nchw_xx_o_o_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_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
+conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
+conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
-conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=3)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
+conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2d_nc [...]
compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=2)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=16)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
-compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=7)
+compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
-compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
+compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
@@ -1012,12 +1094,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=112)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=4)
s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=112)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=64)
s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 512)
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
@@ -1037,10 +1119,10 @@ CUDA source code:
#define int64_t long long
#define uint64_t unsigned long long
#endif
-extern "C" __global__ void __launch_bounds__(112) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+extern "C" __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
float conv2d_nchw[14];
- __shared__ float pad_temp_shared[1296];
- __shared__ float kernel_shared[4608];
+ __shared__ float pad_temp_shared[72];
+ __shared__ float kernel_shared[3072];
conv2d_nchw[0] = 0.000000e+00f;
conv2d_nchw[1] = 0.000000e+00f;
conv2d_nchw[2] = 0.000000e+00f;
@@ -1055,325 +1137,411 @@ extern "C" __global__ void __launch_bounds__(112) default_function_ker
conv2d_nchw[11] = 0.000000e+00f;
conv2d_nchw[12] = 0.000000e+00f;
conv2d_nchw[13] = 0.000000e+00f;
- for (int rc_outer_outer = 0; rc_outer_outer < 32; ++rc_outer_outer) {
- __syncthreads();
- pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 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) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x))];
- kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 112) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 336) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 560) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 784) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 32256)];
- kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1232) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1456) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1680) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1904) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 64512)];
- kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2128) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2352)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2352) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2464) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2576)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2576) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2688) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2800)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2800) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2912) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3024)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 96768)];
- kernel_shared[(((int)threadIdx.x) + 3136)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3136) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3248)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3248) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3360)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3360) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3472)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3472) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3584)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3584) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 128) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3696)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3696) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 32) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3808)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3808) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 64) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 3920)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 3920) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 32) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4032)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + ((int)threadIdx.x)) + 129024)];
- kernel_shared[(((int)threadIdx.x) + 4144)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4144) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 112) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4256)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4256) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 80) % 144) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4368)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4368) / 144) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) / 3) + 16) % 48) * 3)) + (((int)threadIdx.x) % 3))];
- kernel_shared[(((int)threadIdx.x) + 4480)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 4480) / 144) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
- if (((int)threadIdx.x) < 16) {
- kernel_shared[(((int)threadIdx.x) + 4592)] = kernel[(((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) + 128) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3)) + 142848)];
- }
- __syncthreads();
- for (int rc_outer_inner = 0; rc_outer_inner < 8; ++rc_outer_inner) {
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_outer_inner * 162) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18))]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_outer_inner * 162) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 144)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 1)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 145)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 2)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 146)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 9)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 81)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 153)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 10)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 82)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 154)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 11)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 83)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 155)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 3)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 147)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 4)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 148)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 5)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 149)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 12)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 90)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 156)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 13)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 91)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 157)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 14)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 92)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 158)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 6)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 150)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 7)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 151)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 8)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 152)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 153)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 15)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 99)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 108)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 117)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 126)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 135)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 144)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 153)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 159)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 154)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 16)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 100)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 109)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 118)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 127)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 136)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 145)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 154)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 160)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 155)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 17)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 101)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 110)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 119)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 128)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 137)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 146)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 162) + (((int)threadIdx.x) % 7)) + 155)] * kernel_shared[((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 18)) + 161)]));
+ for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
+ for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+ __syncthreads();
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) * 4) % 9))) && (((((int)threadIdx.x) * 4) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 1) % 9))) && ((((((int)threadIdx.x) * 4) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 2) % 9))) && ((((((int)threadIdx.x) * 4) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 18) {
+ pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 3) % 9))) && ((((((int)threadIdx.x) * 4) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 64)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+ kernel_shared[(((int)threadIdx.x) + 256)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+ kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 512)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+ kernel_shared[(((int)threadIdx.x) + 640)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+ kernel_shared[(((int)threadIdx.x) + 832)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+ kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+ kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+ kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+ kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+ kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+ kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+ kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+ kernel_shared[(((int)threadIdx.x) + 2368)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2432)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+ kernel_shared[(((int)threadIdx.x) + 2560)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2624)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+ kernel_shared[(((int)threadIdx.x) + 2752)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2816)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+ kernel_shared[(((int)threadIdx.x) + 2944)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 3008)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ __syncthreads();
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
}
}
for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
- for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
- compute[(((((((int)blockIdx.x) * 1568) + ((((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) * 32) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
+ for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+ compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
}
}
}
@@ -1411,7 +1579,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> ( 5 minutes 32.158 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes 29.647 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 058a067d5f..62b947d46f 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -915,7 +915,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)
- 7.8762 7.8741 7.8957 7.8589 0.0151
+ 7.9002 7.8995 7.9105 7.8905 0.0082
</pre></div>
</div>
</div>
@@ -937,7 +937,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 1.196 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 1.590 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 3be23d2d3b..c87962fb03 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -934,7 +934,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)
- 755.9799 756.7106 757.0075 754.2215 1.2493
+ 759.0213 759.4156 759.5093 758.1390 0.6250
</pre></div>
</div>
</div>
@@ -956,7 +956,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 32.047 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 32.670 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 0a8c2b12c0..6cac36ced1 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -632,27 +632,75 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [128, 512], []),
compute: Buffer(compute_2: Pointer(float32), float32, [128, 512], [])}
buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute} {
- for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
- allocate(compute_3: Pointer(global float32), float32, [512]), storage_scope = global {
+ for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
+ allocate(compute_3: Pointer(global float32), float32, [2048]), storage_scope = global {
for (nb_j.inner: int32, 0, 2) {
- for (i.inner.init: int32, 0, 16) {
- for (j.init: int32, 0, 16) {
- compute_4: Buffer(compute_3, float32, [512], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
+ for (i.inner.init: int32, 0, 64) {
+ let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+ {
+ compute_4: Buffer(compute_3, float32, [2048], [])[cse_var_1] = 0f32
+ compute_4[(cse_var_1 + 1)] = 0f32
+ compute_4[(cse_var_1 + 2)] = 0f32
+ compute_4[(cse_var_1 + 3)] = 0f32
+ compute_4[(cse_var_1 + 4)] = 0f32
+ compute_4[(cse_var_1 + 5)] = 0f32
+ compute_4[(cse_var_1 + 6)] = 0f32
+ compute_4[(cse_var_1 + 7)] = 0f32
+ compute_4[(cse_var_1 + 8)] = 0f32
+ compute_4[(cse_var_1 + 9)] = 0f32
+ compute_4[(cse_var_1 + 10)] = 0f32
+ compute_4[(cse_var_1 + 11)] = 0f32
+ compute_4[(cse_var_1 + 12)] = 0f32
+ compute_4[(cse_var_1 + 13)] = 0f32
+ compute_4[(cse_var_1 + 14)] = 0f32
+ compute_4[(cse_var_1 + 15)] = 0f32
}
}
- for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_15: Buffer(placeholder_13, int32, [33], [])[(cse_var_1 + 1)] - placeholder_15[cse_var_1])) {
- for (i.inner: int32, 0, 16) {
- for (j: int32, 0, 16) {
- let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
- let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
- compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_16: Buffer(placeholder_11, float32, [78656], [])[(((placeholder_15[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder_17: Buffer(placeholder_10, float32, [32768], [])[(((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.inner*256)) + placeholder_18: Buffer(placeholder_12, int32, [4916], [])[(placeholder_15[cse_var_3] + elem_idx)])], 0f32)))
+ for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_15: Buffer(placeholder_13, int32, [33], [])[(cse_var_2 + 1)] - placeholder_15[cse_var_2])) {
+ for (i.inner: int32, 0, 64) {
+ let cse_var_21: int32 = (elem_idx*16)
+ let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+ let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+ let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.inner*256))
+ let cse_var_17: int32 = (cse_var_20 + 9)
+ let cse_var_16: int32 = (cse_var_20 + 8)
+ let cse_var_15: int32 = (cse_var_20 + 7)
+ let cse_var_14: int32 = (cse_var_20 + 6)
+ let cse_var_13: int32 = (cse_var_20 + 5)
+ let cse_var_12: int32 = (cse_var_20 + 4)
+ let cse_var_11: int32 = (cse_var_20 + 3)
+ let cse_var_10: int32 = (cse_var_20 + 2)
+ let cse_var_9: int32 = (cse_var_20 + 15)
+ let cse_var_8: int32 = (cse_var_20 + 14)
+ let cse_var_7: int32 = (cse_var_20 + 13)
+ let cse_var_6: int32 = (cse_var_20 + 12)
+ let cse_var_5: int32 = (cse_var_20 + 11)
+ let cse_var_4: int32 = (cse_var_20 + 10)
+ let cse_var_3: int32 = (cse_var_20 + 1)
+ {
+ compute_4[cse_var_20] = (compute_4[cse_var_20] + (placeholder_16: Buffer(placeholder_11, float32, [78656], [])[((placeholder_15[cse_var_19]*16) + cse_var_21)]*max(placeholder_17: Buffer(placeholder_10, float32, [32768], [])[(cse_var_18 + placeholder_18: Buffer(placeholder_12, int32, [4916], [])[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_3] = (compute_4[cse_var_3] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_10] = (compute_4[cse_var_10] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_11] = (compute_4[cse_var_11] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_12] = (compute_4[cse_var_12] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_13] = (compute_4[cse_var_13] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_14] = (compute_4[cse_var_14] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_15] = (compute_4[cse_var_15] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_16] = (compute_4[cse_var_16] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_17] = (compute_4[cse_var_17] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_4] = (compute_4[cse_var_4] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_5] = (compute_4[cse_var_5] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_6] = (compute_4[cse_var_6] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_7] = (compute_4[cse_var_7] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_8] = (compute_4[cse_var_8] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
+ compute_4[cse_var_9] = (compute_4[cse_var_9] + (placeholder_16[(((placeholder_15[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder_17[(cse_var_18 + placeholder_18[(placeholder_15[cse_var_19] + elem_idx)])], 0f32)))
}
}
}
}
- for (i0.inner: int32, 0, 16) {
- let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
- compute_5: Buffer(compute_2, float32, [65536], [])[ramp(cse_var_4, 1, 32)] = max((compute_4[ramp((i0.inner*32), 1, 32)] + placeholder_19: Buffer(placeholder_14, float32, [65536], [])[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+ for (i0.inner: int32, 0, 64) {
+ let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+ compute_5: Buffer(compute_2, float32, [65536], [])[ramp(cse_var_22, 1, 32)] = max((compute_4[ramp((i0.inner*32), 1, 32)] + placeholder_19: Buffer(placeholder_14, float32, [65536], [])[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
}
}
}
@@ -690,7 +738,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
<span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.500 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.872 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 9e5171305e..c3fcfda345 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -340,7 +340,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:36.157</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:39.746</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -349,7 +349,7 @@
</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:36.122</p></td>
+<td><p>00:39.710</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>
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 806d099ec9..de0aaed4f0 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -568,9 +568,9 @@ waiting for device...
device available
Get devices for measurement successfully!
No: 1 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -603,11 +603,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -631,7 +631,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -659,11 +659,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -687,13 +687,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5725173
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 512, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8948994
No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -726,11 +726,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -754,7 +754,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -782,11 +782,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -810,13 +810,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1502662
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3517510
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__
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -849,11 +849,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -877,7 +877,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -905,11 +905,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -933,13 +933,15 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 1, 256]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3398117
-No: 4 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2678036
+No: 4 GFLOPS: 168.40/168.40 result: MeasureResult(costs=(0.0013747016164383562,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.750566005706787, timestamp=1669944964.7984207) [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,815999
+No: 5 GFLOPS: 6.57/168.40 result: MeasureResult(costs=(0.03525939175,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6852843761444092, timestamp=1669944966.6496644) [('tile_f', [-1, 16, 4, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5682016
+No: 6 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -972,11 +974,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1000,7 +1002,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1028,11 +1030,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1056,13 +1058,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 1, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5775362
-No: 5 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7617027
+No: 7 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1095,11 +1097,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1123,7 +1125,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1151,11 +1153,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1179,13 +1181,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,950458
-No: 6 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7929386
+No: 8 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1218,11 +1220,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1246,7 +1248,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1274,11 +1276,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1302,13 +1304,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1774279
-No: 7 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1329448
+No: 9 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1341,11 +1343,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1369,7 +1371,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1397,11 +1399,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1425,13 +1427,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 4, 64]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4421107
-No: 8 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 2, 64]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,963145
+No: 10 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1464,11 +1466,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1492,7 +1494,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1520,11 +1522,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1548,15 +1550,14 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6054196
-No: 9 GFLOPS: 62.21/62.21 result: MeasureResult(costs=(0.003721080674418605,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.198905944824219, timestamp=1669925187.6235414) [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9397530
-No: 10 GFLOPS: 24.14/62.21 result: MeasureResult(costs=(0.009589893636363636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.2840280532836914, timestamp=1669925188.342286) [('tile_f', [-1, 2, 8, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5071620
-No: 11 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9816587
+No: 11 GFLOPS: 5.46/168.40 result: MeasureResult(costs=(0.04242870325,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.306490182876587, timestamp=1669944970.187844) [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3105046
+No: 12 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1589,11 +1590,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1617,7 +1618,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1645,11 +1646,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1673,13 +1674,14 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 4, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3813106
-No: 12 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5483639
+No: 13 GFLOPS: 64.80/168.40 result: MeasureResult(costs=(0.0035725881379310345,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.234379529953003, timestamp=1669944972.6000133) [('tile_f', [-1, 8, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9166313
+No: 14 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1712,11 +1714,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1740,7 +1742,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1768,11 +1770,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1796,13 +1798,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('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', 1500), ('unroll_explicit', 1)],None,10292979
-No: 13 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 64, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9265882
+No: 15 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1835,11 +1837,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1863,7 +1865,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -1891,11 +1893,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1919,13 +1921,13 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8934870
-No: 14 GFLOPS: 0.00/62.21 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 64, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3740048
+No: 16 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -1958,11 +1960,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -1986,7 +1988,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -2014,11 +2016,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -2042,14 +2044,14 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,375028
-No: 15 GFLOPS: 291.58/291.58 result: MeasureResult(costs=(0.0007939590640394088,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.30177903175354, timestamp=1669925189.9380887) [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6250210
-No: 16 GFLOPS: 0.00/291.58 result: Traceback (most recent call last):
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6942273
+No: 17 GFLOPS: 2.42/168.40 result: MeasureResult(costs=(0.09557201374999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=9.238000869750977, timestamp=1669944984.5149977) [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4877393
+No: 18 GFLOPS: 0.00/168.40 result: Traceback (most recent call last):
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
- File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
func = build(s, args, target_host=task.target_host, runtime=runtime)
File "/workspace/python/tvm/driver/build_module.py", line 227, in build
input_mod = lower(inputs, args, name=name, binds=binds)
@@ -2082,11 +2084,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -2110,7 +2112,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
@@ -2138,11 +2140,11 @@ Traceback (most recent call last):
14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
at ../include/tvm/runtime/packed_func.h:1646
13: operator()
- at ../src/driver/driver_api.cc:388
+ at ../src/driver/driver_api.cc:389
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:374
+ at ../src/driver/driver_api.cc:375
11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
+ at ../src/driver/driver_api.cc:270
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
@@ -2166,257 +2168,28 @@ Traceback (most recent call last):
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
+ File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 32, 1, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6648761
-No: 17 GFLOPS: 76.88/291.58 result: MeasureResult(costs=(0.0030112359999999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.845435857772827, timestamp=1669925198.9765935) [('tile_f', [-1, 1, 1, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9312435
-No: 18 GFLOPS: 0.00/291.58 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_host=task.target_host, 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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, 64, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1210896
-No: 19 GFLOPS: 1.35/291.58 result: MeasureResult(costs=(0.17110185225000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.638166666030884, timestamp=1669925201.5347054) [('tile_f', [-1, 1, 2, 256]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3718218
-No: 20 GFLOPS: 0.00/291.58 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_host=task.target_host, 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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:1731
- 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:1671
- 19: run<>
- at ../include/tvm/runtime/packed_func.h:1631
- 18: run<tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1631
- 14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
- at ../include/tvm/runtime/packed_func.h:1646
- 13: operator()
- at ../src/driver/driver_api.cc:388
- 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:374
- 11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
- at ../src/driver/driver_api.cc:269
- 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:453
- 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:100
- 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:1750
- 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:1694
- 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:1618
- 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, 128, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5860631
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 8, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1533703
+No: 19 GFLOPS: 3.22/168.40 result: MeasureResult(costs=(0.0718483885,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.148777961730957, timestamp=1669944985.8546658) [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5681484
+No: 20 GFLOPS: 0.00/168.40 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, 8, 4, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,846018
</pre></div>
</div>
<p>Finally we can inspect the best config from log file, check correctness,
@@ -2455,9 +2228,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, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6250210
+[('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,815999
Finish loading 20 records
-Time cost of this operator: 0.001184
+Time cost of this operator: 0.000914
</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/tune_with_autotvm/tune_relay_cuda.html b/docs/how_to/tune_with_autotvm/tune_relay_cuda.html
index cf7f1857e5..d02178a85e 100644
--- a/docs/how_to/tune_with_autotvm/tune_relay_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_relay_cuda.html
@@ -492,7 +492,7 @@ We can also load models from MXNet, ONNX and TensorFlow.</p>
<span class="p">}</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/target/target.py:397: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/target/target.py:393: UserWarning: Try specifying cuda arch by adding 'arch=sm_xx' to your target.
warnings.warn("Try specifying cuda arch by adding 'arch=sm_xx' to your target.")
</pre></div>
</div>
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index 5b8f078c8e..12d6a46883 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -598,10 +598,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 310.6 98.708 (1, 2, 10, 10, 3) 2 1 [310.6]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.077 0.978 (1, 6, 10, 10) 1 1 [3.077]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.988 0.314 (1, 1, 10, 10, 3) 1 1 [0.988]
-Total_time - 314.665 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 311.4 98.716 (1, 2, 10, 10, 3) 2 1 [311.4]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.077 0.975 (1, 6, 10, 10) 1 1 [3.077]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.975 0.309 (1, 1, 10, 10, 3) 1 1 [0.975]
+Total_time - 315.452 - - - - -
</pre></div>
</div>
</div>
@@ -653,10 +653,10 @@ Total_time -
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
Node Name Ops Time(us) Time(%) Shape Inputs Outputs Measurements(us)
--------- --- -------- ------- ----- ------ ------- ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 102.9 97.476 (1, 6, 10, 10, 1) 2 1 [102.9]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.806 1.711 (1, 6, 10, 10) 1 1 [1.806]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.859 0.813 (1, 3, 10, 10, 1) 1 1 [0.859]
-Total_time - 105.564 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 134.7 97.935 (1, 6, 10, 10, 1) 2 1 [134.7]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.872 1.361 (1, 6, 10, 10) 1 1 [1.872]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.969 0.704 (1, 1, 10, 10, 3) 1 1 [0.969]
+Total_time - 137.541 - - - - -
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/micro_pytorch.html b/docs/how_to/work_with_microtvm/micro_pytorch.html
index 94fce2fc7c..24e7289168 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -440,7 +440,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, 107MB/s]
+100%|##########| 3.42M/3.42M [00:00<00:00, 98.0MB/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.
@@ -564,7 +564,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 3.611 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 3.707 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 852ec3468c..aa3328c7a8 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -530,7 +530,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/tmpa_1psqlr/images/random'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmpzjx903ni/images/random'
</pre></div>
</div>
</div>
@@ -590,8 +590,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], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpa_1psqlr/images/target contains 8144 images
-/tmp/tmpa_1psqlr/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], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.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/tmpzjx903ni/images/target contains 8144 images
+/tmp/tmpzjx903ni/images/random contains 5000 images
</pre></div>
</div>
</div>
@@ -703,13 +703,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 - 47s - loss: 0.2388 - accuracy: 0.9216 - val_loss: 0.1168 - val_accuracy: 0.9607 - 47s/epoch - 143ms/step
+328/328 - 47s - loss: 0.2107 - accuracy: 0.9245 - val_loss: 0.1564 - val_accuracy: 0.9532 - 47s/epoch - 145ms/step
Epoch 2/3
-328/328 - 44s - loss: 0.1131 - accuracy: 0.9590 - val_loss: 0.1981 - val_accuracy: 0.9275 - 44s/epoch - 133ms/step
+328/328 - 43s - loss: 0.0876 - accuracy: 0.9672 - val_loss: 0.1978 - val_accuracy: 0.9430 - 43s/epoch - 132ms/step
Epoch 3/3
-328/328 - 43s - loss: 0.0740 - accuracy: 0.9729 - val_loss: 0.0972 - val_accuracy: 0.9668 - 43s/epoch - 132ms/step
+328/328 - 44s - loss: 0.0654 - accuracy: 0.9748 - val_loss: 0.1185 - val_accuracy: 0.9637 - 44s/epoch - 133ms/step
-<keras.callbacks.History object at 0x7fe1a804d650>
+<keras.callbacks.History object at 0x7f1c8ec4cc90>
</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 40.874 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes 39.883 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 4efeeccd48..6bad4e8956 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -340,7 +340,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>06:47.466</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>06:47.094</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -349,23 +349,23 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>04:40.874</p></td>
+<td><p>04:39.883</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><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">microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:03.611</p></td>
+<td><p>01:03.707</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:50.653</p></td>
+<td><p>00:51.008</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">microTVM Host-Driven AoT</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:08.536</p></td>
+<td><p>00:08.554</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:03.791</p></td>
+<td><p>00:03.939</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></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 037ed8586b..c6ca46d281 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -340,7 +340,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:39.619</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:45.536</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -349,15 +349,15 @@
</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.066</p></td>
+<td><p>00:33.727</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:04.808</p></td>
+<td><p>00:10.343</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.739</p></td>
+<td><p>00:01.459</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>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index 317a9cb6ec..98d77e9399 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -535,7 +535,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 0x7fe221957710>
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7f1c894c0d40>
</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 46153b7f00..dcc3b8b0e2 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -340,7 +340,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:04.891</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:04.946</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -349,23 +349,23 @@
</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:02.341</p></td>
+<td><p>00:02.388</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.189</p></td>
+<td><p>00:01.158</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.582</p></td>
+<td><p>00:00.602</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.567</p></td>
+<td><p>00:00.582</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.114</p></td>
+<td><p>00:00.117</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></td>
@@ -373,7 +373,7 @@
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></td>
-<td><p>00:00.030</p></td>
+<td><p>00:00.029</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>
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 5c8a8fc178..6a55aa0eba 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -586,7 +586,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
B: Buffer(B_2: Pointer(float32), float32, [512, 64], []),
C: Buffer(C_2: Pointer(float32), float32, [1024, 512], [])}
buffer_map = {A_1: A, B_1: B, C_1: C} {
- attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpbt8ked8y/input0.cc'\nsource_filename = \"/tmp/tmpbt8ked8y/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n %7 = allo [...]
+ attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmp87cxaejm/input0.cc'\nsource_filename = \"/tmp/tmp87cxaejm/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n %7 = allo [...]
for (i, 0, 1024) {
for (j.outer: int32, 0, 32) {
@tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/install/nnpack.html b/docs/install/nnpack.html
index 23d2181e9d..1ef28de467 100644
--- a/docs/install/nnpack.html
+++ b/docs/install/nnpack.html
@@ -229,17 +229,7 @@
<p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Installing TVM</a><ul class="current">
-<li class="toctree-l2 current"><a class="reference internal" href="from_source.html">Install from Source</a><ul class="current">
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#developers-get-source-from-github">Developers: Get Source from Github</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#build-the-shared-library">Build the Shared Library</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#python-package-installation">Python Package Installation</a></li>
-<li class="toctree-l3 current"><a class="reference internal" href="from_source.html#install-contrib-libraries">Install Contrib Libraries</a><ul class="current">
-<li class="toctree-l4 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#enable-c-tests">Enable C++ Tests</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="from_source.html">Install from Source</a></li>
<li class="toctree-l2"><a class="reference internal" href="docker.html">Docker Images</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#conditions">Conditions</a></li>
diff --git a/docs/objects.inv b/docs/objects.inv
index 57d123a748..d9c7eed1b0 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 8b45ca4fd9..c4538a3fef 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -562,127 +562,129 @@ $(function() {
<tr id="row_1_6_245_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relay_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> </td></tr>
<tr id="row_1_6_246_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
<tr id="row_1_7_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_7_" class="arrow" onclick="toggleFolder('1_7_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_0_" class="arrow" onclick="toggleFolder('1_7_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html" target="_self">ArrayAccessor</a></td><td class="desc">A span-like class which permits access to <a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">A [...]
-<tr id="row_1_7_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html" target="_self">ArrayAccessor< const char *, ::tvm::runtime::String ></a></td><td class="desc">A specialization of <a class="el" href="classtvm_1_1runtime_1_1meta [...]
-<tr id="row_1_7_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html" target="_self">ArrayIterator</a></td><td class="desc">An iterator implementation that lazily instantiates the C++ wrapping <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> class </td></tr>
-<tr id="row_1_7_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html" target="_self">ConstantInfoMetadata</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html" target="_self">ConstantInfoMetadataNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html" target="_self">Metadata</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html" target="_self">MetadataArray</a></td><td class="desc">Reference class for <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html" title="Reference class for MetadataArray. ">MetadataArray</a> </td></tr>
-<tr id="row_1_7_0_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html" target="_self">MetadataArrayNode</a></td><td class="desc">Container for arrays in the metadata </td></tr>
-<tr id="row_1_7_0_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html" target="_self">MetadataBase</a></td><td class="desc">Reference class for the common <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" title="Common base class for all Metadata. ">MetadataBaseNode</a> c [...]
-<tr id="row_1_7_0_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_self">MetadataBaseNode</a></td><td class="desc">Common base class for all <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> </td></tr>
-<tr id="row_1_7_0_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html" target="_self">MetadataNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1TensorInfo.html" target="_self">TensorInfo</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_0_12_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1TensorInfoNode.html" target="_self">TensorInfoNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_1_" class="arrow" onclick="toggleFolder('1_7_1_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html" target="_self">micro_rpc</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html" target="_self">FrameBuffer</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html" target="_self">Framer</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html" target="_self">PacketFieldSizeBytes</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Session.html" target="_self">Session</a></td><td class="desc">CRT communication session management class. Assumes the following properties provided by the underlying transport: </td></tr>
-<tr id="row_1_7_1_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1micro__rpc_1_1SessionHeader.html" target="_self">SessionHeader</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Unframer.html" target="_self">Unframer</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1WriteStream.html" target="_self">WriteStream</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_2_" class="arrow" onclick="toggleFolder('1_7_2_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html" target="_self">profiling</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html" target="_self">CallFrame</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_self">CountNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html" target="_self">DeviceWrapper</a></td><td class="desc">Wrapper for <code>Device</code> </td></tr>
-<tr id="row_1_7_2_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_self">DeviceWrapperNode</a></td><td class="desc">Wrapper for <code>Device</code> because <code>Device</code> is not passable across the <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed fun [...]
-<tr id="row_1_7_2_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_self">DurationNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html" target="_self">MetricCollector</a></td><td class="desc">Wrapper for <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection. ">Metr [...]
-<tr id="row_1_7_2_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_self">MetricCollectorNode</a></td><td class="desc">Interface for user defined profiling metric collection </td></tr>
-<tr id="row_1_7_2_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_self">PercentNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html" target="_self">Profiler</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_self">RatioNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html" target="_self">Report</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_2_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_self">ReportNode</a></td><td class="desc">Data collected from a profiling run. Includes per-call metrics and per-device metrics </td></tr>
-<tr id="row_1_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_3_" class="arrow" onclick="toggleFolder('1_7_3_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1threading_1_1ThreadGroup.html" target="_self">ThreadGroup</a></td><td class="desc">A platform-agnostic abstraction for managing a collection of thread pool threads </td></tr>
-<tr id="row_1_7_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_4_" class="arrow" onclick="toggleFolder('1_7_4_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html" target="_self">Allocator</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html" target="_self">Buffer</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_4_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html" target="_self">Executable</a></td><td class="desc">The executable emitted by the VM compiler </td></tr>
-<tr id="row_1_7_4_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html" target="_self">Instruction</a></td><td class="desc">A single virtual machine instruction </td></tr>
-<tr id="row_1_7_4_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html" target="_self">MemoryManager</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_4_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Storage.html" target="_self">Storage</a></td><td class="desc">Reference to storage </td></tr>
-<tr id="row_1_7_4_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_self">StorageObj</a></td><td class="desc">An object representing a storage allocation </td></tr>
-<tr id="row_1_7_4_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html" target="_self">VirtualMachine</a></td><td class="desc">The virtual machine </td></tr>
-<tr id="row_1_7_4_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_self">VMClosure</a></td><td class="desc">Reference to closure </td></tr>
-<tr id="row_1_7_4_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_self">VMClosureObj</a></td><td class="desc">An object representing a vm closure </td></tr>
-<tr id="row_1_7_4_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFrame.html" target="_self">VMFrame</a></td><td class="desc">A representation of a stack frame </td></tr>
-<tr id="row_1_7_4_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFunction.html" target="_self">VMFunction</a></td><td class="desc">A representation of a Relay function in the VM </td></tr>
-<tr id="row_1_7_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ADT.html" target="_self">ADT</a></td><td class="desc">Reference to algebraic data type objects </td></tr>
-<tr id="row_1_7_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html" target="_self">ADTObj</a></td><td class="desc">An object representing a structure or enumeration </td></tr>
-<tr id="row_1_7_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_7_" class="arrow" onclick="toggleFolder('1_7_7_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Array.html" target="_self">Array</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of Obje [...]
-<tr id="row_1_7_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1Array_1_1ValueConverter.html" target="_self">ValueConverter</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html" target="_self">ArrayNode</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">Array</a> node content in array </td></tr>
-<tr id="row_1_7_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Closure.html" target="_self">Closure</a></td><td class="desc">Reference to closure </td></tr>
-<tr id="row_1_7_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html" target="_self">ClosureObj</a></td><td class="desc">An object representing a closure. This object is used by both the Relay VM and interpreter </td></tr>
-<tr id="row_1_7_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DataType.html" target="_self">DataType</a></td><td class="desc">Runtime primitive data type </td></tr>
-<tr id="row_1_7_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html" target="_self">DenseMapNode</a></td><td class="desc">A specialization of hash map that implements the idea of array-based hash map. Another reference implementation can be found [1] </td></tr>
-<tr id="row_1_7_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html" target="_self">DeviceAPI</a></td><td class="desc">TVM Runtime Device API, abstracts the device specific interface for memory management </td></tr>
-<tr id="row_1_7_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_self">InplaceArrayBase</a></td><td class="desc">Base template for classes with array like memory layout </td></tr>
-<tr id="row_1_7_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1is__valid__iterator.html" target="_self">is_valid_iterator</a></td><td class="desc">Helper struct for type-checking </td></tr>
-<tr id="row_1_7_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1is__valid__iterator_3_01Optional_3_01T_01_4_00_01IterType_01_4.html" target="_self">is_valid_iterator< Optional< T >, IterType ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html" target="_self">IterAdapter</a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
-<tr id="row_1_7_18_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_18_" class="arrow" onclick="toggleFolder('1_7_18_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map.html" target="_self">Map</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Map.html" title="Map container of NodeRef->NodeRef in DSL graph. Map impleme [...]
-<tr id="row_1_7_18_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
-<tr id="row_1_7_19_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_19_" class="arrow" onclick="toggleFolder('1_7_19_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode.html" target="_self">MapNode</a></td><td class="desc">Shared content of all specializations of hash map </td></tr>
-<tr id="row_1_7_19_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">iterator</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Module.html" target="_self">Module</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Module.html" title="Module container of TVM. ">Module</a> container of TVM </td></tr>
-<tr id="row_1_7_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html" target="_self">ModuleNode</a></td><td class="desc">Base container of module </td></tr>
-<tr id="row_1_7_22_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_22_" class="arrow" onclick="toggleFolder('1_7_22_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray.html" target="_self">NDArray</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1NDArray.html" title="Managed NDArray. The array is backed by re [...]
-<tr id="row_1_7_22_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html" target="_self">Container</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> container class that backs <a class="el" href="classtvm_1_1runtime_1_ [...]
-<tr id="row_1_7_22_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html" target="_self">ContainerBase</a></td><td class="desc">The container base structure contains all the fields except for the <a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Obje [...]
-<tr id="row_1_7_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html" target="_self">NullOptType</a></td><td class="desc">Helper to represent nullptr for optional </td></tr>
-<tr id="row_1_7_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html" target="_self">ObjAllocatorBase</a></td><td class="desc">Base class of object allocators that implements make. Use curiously recurring template pattern </td></tr>
-<tr id="row_1_7_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Object.html" target="_self">Object</a></td><td class="desc">Base class of all object containers </td></tr>
-<tr id="row_1_7_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html" target="_self">ObjectEqual</a></td><td class="desc">String-aware <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> hash functor </td></tr>
-<tr id="row_1_7_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html" target="_self">ObjectHash</a></td><td class="desc">String-aware <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> equal functor </td></tr>
-<tr id="row_1_7_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_self">ObjectPtr</a></td><td class="desc">A custom smart pointer for <a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> </td></tr>
-<tr id="row_1_7_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html" target="_self">ObjectPtrEqual</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> equal functor </td></tr>
-<tr id="row_1_7_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html" target="_self">ObjectPtrHash</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> hash functor </td></tr>
-<tr id="row_1_7_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" target="_self">ObjectRef</a></td><td class="desc">Base class of all object reference </td></tr>
-<tr id="row_1_7_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html" target="_self">ObjectTypeChecker</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> traits for runtime type check during FFI conversion </td></tr>
-<tr id="row_1_7_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html" target="_self">ObjectTypeChecker< Array< T > ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html" target="_self">ObjectTypeChecker< Map< K, V > ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Optional.html" target="_self">Optional</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Optional.html" title="Optional container that to represent to a Nullable variant of T. ">Optional</a> container that to represent to a Nullable variant of [...]
-<tr id="row_1_7_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" target="_self">PackedFunc</a></td><td class="desc">Packed function is a type-erased function. The arguments are passed by packed format </td></tr>
-<tr id="row_1_7_37_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_37_" class="arrow" onclick="toggleFolder('1_7_37_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_self">PackedFuncObj</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. "> [...]
-<tr id="row_1_7_37_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html" target="_self">Extractor</a></td><td class="desc">Internal struct for extracting the callable method from callable type </td></tr>
-<tr id="row_1_7_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFuncSubObj.html" target="_self">PackedFuncSubObj</a></td><td class="desc">Derived object class for constructing <a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html" title="Object container class that backs PackedFunc. ">PackedFuncObj</a> </td></tr>
-<tr id="row_1_7_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html" target="_self">PackedFuncValueConverter</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> trait to specify special value conversion rules from <a class="el" href= [...]
-<tr id="row_1_7_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html" target="_self">PackedFuncValueConverter< Optional< T > ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html" target="_self">PackedFuncValueConverter< PrimExpr ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html" target="_self">PackedFuncValueConverter< tvm::Bool ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integer_01_4.html" target="_self">PackedFuncValueConverter< tvm::Integer ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4.html" target="_self">PackedFuncValueConverter<::tvm::runtime::String ></a></td><td class="desc"></td></tr>
-<tr id="row_1_7_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Registry.html" target="_self">Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Registry.html" title="Registry for global function. ">Registry</a> for global function </td></tr>
-<tr id="row_1_7_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html" target="_self">ReverseIterAdapter</a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
-<tr id="row_1_7_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTuple.html" target="_self">ShapeTuple</a></td><td class="desc">Reference to shape tuple objects </td></tr>
-<tr id="row_1_7_48_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_48_" class="arrow" onclick="toggleFolder('1_7_48_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_self">ShapeTupleObj</a></td><td class="desc">An object representing a shape tuple </td></tr>
-<tr id="row_1_7_48_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html" target="_self">FromStd</a></td><td class="desc">An object representing shape tuple moved from std::vector </td></tr>
-<tr id="row_1_7_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1SignaturePrinter.html" target="_self">SignaturePrinter</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_50_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_50_" class="arrow" onclick="toggleFolder('1_7_50_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator.html" target="_self">SimpleObjAllocator</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_50_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html" target="_self">ArrayHandler</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_50_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html" target="_self">Handler</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SmallMapNode.html" target="_self">SmallMapNode</a></td><td class="desc">A specialization of small-sized hash map </td></tr>
-<tr id="row_1_7_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1String.html" target="_self">String</a></td><td class="desc">Reference to string objects </td></tr>
-<tr id="row_1_7_53_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_53_" class="arrow" onclick="toggleFolder('1_7_53_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1StringObj.html" target="_self">StringObj</a></td><td class="desc">An object representing string. It's POD type </td></tr>
-<tr id="row_1_7_53_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html" target="_self">FromStd</a></td><td class="desc">An object representing string moved from std::string </td></tr>
-<tr id="row_1_7_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Timer.html" target="_self">Timer</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device. ">Timer</a> for a specific device </td></tr>
-<tr id="row_1_7_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all implementations </td></tr>
-<tr id="row_1_7_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgs.html" target="_self">TVMArgs</a></td><td class="desc">Arguments into TVM functions </td></tr>
-<tr id="row_1_7_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgsSetter.html" target="_self">TVMArgsSetter</a></td><td class="desc"></td></tr>
-<tr id="row_1_7_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html" target="_self">TVMArgValue</a></td><td class="desc">A single argument value to <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed function is a type-erased function. The arguments are passed by packed format. ">PackedFun [...]
-<tr id="row_1_7_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValue__.html" target="_self">TVMMovableArgValue_</a></td><td class="desc">Internal auxiliary struct for <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" title="Please refer to TypedPackedFunc<R(Args..)>. ">TypedPackedFunc</a> [...]
-<tr id="row_1_7_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValueWithContext__.html" target="_self">TVMMovableArgValueWithContext_</a></td><td class="desc">Internal auxiliary struct for <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" title="Please refer to TypedPackedFunc<R(Args..)>. [...]
-<tr id="row_1_7_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html" target="_self">TVMPODValue_</a></td><td class="desc">Internal base class to handle conversion to POD values </td></tr>
-<tr id="row_1_7_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html" target="_self">TVMRetValue</a></td><td class="desc">Return Value container, Unlike <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html" title="A single argument value to PackedFunc. Containing both type_code and TVMValue. ">TVMArgValue [...]
-<tr id="row_1_7_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" target="_self">TypedPackedFunc</a></td><td class="desc">Please refer to <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#TypedPackedFuncAnchor">TypedPackedFunc<R(Args..)></a> </td></tr>
-<tr id="row_1_7_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html" target="_self">TypedPackedFunc< R(Args...)></a></td><td class="desc">A <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed function is a type-erased function. The arguments are passed by [...]
-<tr id="row_1_7_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1TypeIndex.html" target="_self">TypeIndex</a></td><td class="desc">Namespace for the list of type index </td></tr>
+<tr id="row_1_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_0_" class="arrow" onclick="toggleFolder('1_7_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1hexagon.html" target="_self">hexagon</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1hexagon_1_1SDLTensor.html" target="_self">SDLTensor</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_1_" class="arrow" onclick="toggleFolder('1_7_1_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html" target="_self">ArrayAccessor</a></td><td class="desc">A span-like class which permits access to <a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">A [...]
+<tr id="row_1_7_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html" target="_self">ArrayAccessor< const char *, ::tvm::runtime::String ></a></td><td class="desc">A specialization of <a class="el" href="classtvm_1_1runtime_1_1meta [...]
+<tr id="row_1_7_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html" target="_self">ArrayIterator</a></td><td class="desc">An iterator implementation that lazily instantiates the C++ wrapping <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> class </td></tr>
+<tr id="row_1_7_1_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html" target="_self">ConstantInfoMetadata</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html" target="_self">ConstantInfoMetadataNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html" target="_self">Metadata</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html" target="_self">MetadataArray</a></td><td class="desc">Reference class for <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html" title="Reference class for MetadataArray. ">MetadataArray</a> </td></tr>
+<tr id="row_1_7_1_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html" target="_self">MetadataArrayNode</a></td><td class="desc">Container for arrays in the metadata </td></tr>
+<tr id="row_1_7_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html" target="_self">MetadataBase</a></td><td class="desc">Reference class for the common <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" title="Common base class for all Metadata. ">MetadataBaseNode</a> c [...]
+<tr id="row_1_7_1_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_self">MetadataBaseNode</a></td><td class="desc">Common base class for all <a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> </td></tr>
+<tr id="row_1_7_1_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html" target="_self">MetadataNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1TensorInfo.html" target="_self">TensorInfo</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_1_12_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1TensorInfoNode.html" target="_self">TensorInfoNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_2_" class="arrow" onclick="toggleFolder('1_7_2_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html" target="_self">micro_rpc</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html" target="_self">FrameBuffer</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html" target="_self">Framer</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html" target="_self">PacketFieldSizeBytes</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Session.html" target="_self">Session</a></td><td class="desc">CRT communication session management class. Assumes the following properties provided by the underlying transport: </td></tr>
+<tr id="row_1_7_2_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1micro__rpc_1_1SessionHeader.html" target="_self">SessionHeader</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Unframer.html" target="_self">Unframer</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_2_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1WriteStream.html" target="_self">WriteStream</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_3_" class="arrow" onclick="toggleFolder('1_7_3_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html" target="_self">profiling</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html" target="_self">CallFrame</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_self">CountNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html" target="_self">DeviceWrapper</a></td><td class="desc">Wrapper for <code>Device</code> </td></tr>
+<tr id="row_1_7_3_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_self">DeviceWrapperNode</a></td><td class="desc">Wrapper for <code>Device</code> because <code>Device</code> is not passable across the <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed fun [...]
+<tr id="row_1_7_3_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_self">DurationNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html" target="_self">MetricCollector</a></td><td class="desc">Wrapper for <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection. ">Metr [...]
+<tr id="row_1_7_3_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_self">MetricCollectorNode</a></td><td class="desc">Interface for user defined profiling metric collection </td></tr>
+<tr id="row_1_7_3_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_self">PercentNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html" target="_self">Profiler</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_self">RatioNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html" target="_self">Report</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_3_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_self">ReportNode</a></td><td class="desc">Data collected from a profiling run. Includes per-call metrics and per-device metrics </td></tr>
+<tr id="row_1_7_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_4_" class="arrow" onclick="toggleFolder('1_7_4_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1threading_1_1ThreadGroup.html" target="_self">ThreadGroup</a></td><td class="desc">A platform-agnostic abstraction for managing a collection of thread pool threads </td></tr>
+<tr id="row_1_7_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_5_" class="arrow" onclick="toggleFolder('1_7_5_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html" target="_self">Allocator</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html" target="_self">Buffer</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_5_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html" target="_self">Executable</a></td><td class="desc">The executable emitted by the VM compiler </td></tr>
+<tr id="row_1_7_5_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html" target="_self">Instruction</a></td><td class="desc">A single virtual machine instruction </td></tr>
+<tr id="row_1_7_5_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html" target="_self">MemoryManager</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_5_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Storage.html" target="_self">Storage</a></td><td class="desc">Reference to storage </td></tr>
+<tr id="row_1_7_5_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_self">StorageObj</a></td><td class="desc">An object representing a storage allocation </td></tr>
+<tr id="row_1_7_5_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html" target="_self">VirtualMachine</a></td><td class="desc">The virtual machine </td></tr>
+<tr id="row_1_7_5_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_self">VMClosure</a></td><td class="desc">Reference to closure </td></tr>
+<tr id="row_1_7_5_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_self">VMClosureObj</a></td><td class="desc">An object representing a vm closure </td></tr>
+<tr id="row_1_7_5_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFrame.html" target="_self">VMFrame</a></td><td class="desc">A representation of a stack frame </td></tr>
+<tr id="row_1_7_5_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFunction.html" target="_self">VMFunction</a></td><td class="desc">A representation of a Relay function in the VM </td></tr>
+<tr id="row_1_7_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ADT.html" target="_self">ADT</a></td><td class="desc">Reference to algebraic data type objects </td></tr>
+<tr id="row_1_7_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html" target="_self">ADTObj</a></td><td class="desc">An object representing a structure or enumeration </td></tr>
+<tr id="row_1_7_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_8_" class="arrow" onclick="toggleFolder('1_7_8_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Array.html" target="_self">Array</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of Obje [...]
+<tr id="row_1_7_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1Array_1_1ValueConverter.html" target="_self">ValueConverter</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html" target="_self">ArrayNode</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">Array</a> node content in array </td></tr>
+<tr id="row_1_7_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Closure.html" target="_self">Closure</a></td><td class="desc">Reference to closure </td></tr>
+<tr id="row_1_7_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html" target="_self">ClosureObj</a></td><td class="desc">An object representing a closure. This object is used by both the Relay VM and interpreter </td></tr>
+<tr id="row_1_7_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DataType.html" target="_self">DataType</a></td><td class="desc">Runtime primitive data type </td></tr>
+<tr id="row_1_7_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html" target="_self">DenseMapNode</a></td><td class="desc">A specialization of hash map that implements the idea of array-based hash map. Another reference implementation can be found [1] </td></tr>
+<tr id="row_1_7_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html" target="_self">DeviceAPI</a></td><td class="desc">TVM Runtime Device API, abstracts the device specific interface for memory management </td></tr>
+<tr id="row_1_7_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_self">InplaceArrayBase</a></td><td class="desc">Base template for classes with array like memory layout </td></tr>
+<tr id="row_1_7_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1is__valid__iterator.html" target="_self">is_valid_iterator</a></td><td class="desc">Helper struct for type-checking </td></tr>
+<tr id="row_1_7_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1is__valid__iterator_3_01Optional_3_01T_01_4_00_01IterType_01_4.html" target="_self">is_valid_iterator< Optional< T >, IterType ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html" target="_self">IterAdapter</a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
+<tr id="row_1_7_19_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_19_" class="arrow" onclick="toggleFolder('1_7_19_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map.html" target="_self">Map</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Map.html" title="Map container of NodeRef->NodeRef in DSL graph. Map impleme [...]
+<tr id="row_1_7_19_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
+<tr id="row_1_7_20_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_20_" class="arrow" onclick="toggleFolder('1_7_20_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode.html" target="_self">MapNode</a></td><td class="desc">Shared content of all specializations of hash map </td></tr>
+<tr id="row_1_7_20_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">iterator</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Module.html" target="_self">Module</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Module.html" title="Module container of TVM. ">Module</a> container of TVM </td></tr>
+<tr id="row_1_7_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html" target="_self">ModuleNode</a></td><td class="desc">Base container of module </td></tr>
+<tr id="row_1_7_23_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_23_" class="arrow" onclick="toggleFolder('1_7_23_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray.html" target="_self">NDArray</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1NDArray.html" title="Managed NDArray. The array is backed by re [...]
+<tr id="row_1_7_23_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html" target="_self">Container</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> container class that backs <a class="el" href="classtvm_1_1runtime_1_ [...]
+<tr id="row_1_7_23_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html" target="_self">ContainerBase</a></td><td class="desc">The container base structure contains all the fields except for the <a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Obje [...]
+<tr id="row_1_7_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html" target="_self">NullOptType</a></td><td class="desc">Helper to represent nullptr for optional </td></tr>
+<tr id="row_1_7_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html" target="_self">ObjAllocatorBase</a></td><td class="desc">Base class of object allocators that implements make. Use curiously recurring template pattern </td></tr>
+<tr id="row_1_7_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Object.html" target="_self">Object</a></td><td class="desc">Base class of all object containers </td></tr>
+<tr id="row_1_7_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html" target="_self">ObjectEqual</a></td><td class="desc">String-aware <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> hash functor </td></tr>
+<tr id="row_1_7_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html" target="_self">ObjectHash</a></td><td class="desc">String-aware <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> equal functor </td></tr>
+<tr id="row_1_7_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_self">ObjectPtr</a></td><td class="desc">A custom smart pointer for <a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> </td></tr>
+<tr id="row_1_7_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html" target="_self">ObjectPtrEqual</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> equal functor </td></tr>
+<tr id="row_1_7_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html" target="_self">ObjectPtrHash</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" title="Base class of all object reference. ">ObjectRef</a> hash functor </td></tr>
+<tr id="row_1_7_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html" target="_self">ObjectRef</a></td><td class="desc">Base class of all object reference </td></tr>
+<tr id="row_1_7_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html" target="_self">ObjectTypeChecker</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> traits for runtime type check during FFI conversion </td></tr>
+<tr id="row_1_7_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html" target="_self">ObjectTypeChecker< Array< T > ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html" target="_self">ObjectTypeChecker< Map< K, V > ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Optional.html" target="_self">Optional</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Optional.html" title="Optional container that to represent to a Nullable variant of T. ">Optional</a> container that to represent to a Nullable variant of [...]
+<tr id="row_1_7_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" target="_self">PackedFunc</a></td><td class="desc">Packed function is a type-erased function. The arguments are passed by packed format </td></tr>
+<tr id="row_1_7_38_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_38_" class="arrow" onclick="toggleFolder('1_7_38_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_self">PackedFuncObj</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. "> [...]
+<tr id="row_1_7_38_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html" target="_self">Extractor</a></td><td class="desc">Internal struct for extracting the callable method from callable type </td></tr>
+<tr id="row_1_7_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1PackedFuncSubObj.html" target="_self">PackedFuncSubObj</a></td><td class="desc">Derived object class for constructing <a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html" title="Object container class that backs PackedFunc. ">PackedFuncObj</a> </td></tr>
+<tr id="row_1_7_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html" target="_self">PackedFuncValueConverter</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode. ">Type</a> trait to specify special value conversion rules from <a class="el" href= [...]
+<tr id="row_1_7_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html" target="_self">PackedFuncValueConverter< Optional< T > ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html" target="_self">PackedFuncValueConverter< PrimExpr ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html" target="_self">PackedFuncValueConverter< tvm::Bool ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integer_01_4.html" target="_self">PackedFuncValueConverter< tvm::Integer ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4.html" target="_self">PackedFuncValueConverter<::tvm::runtime::String ></a></td><td class="desc"></td></tr>
+<tr id="row_1_7_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Registry.html" target="_self">Registry</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Registry.html" title="Registry for global function. ">Registry</a> for global function </td></tr>
+<tr id="row_1_7_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ReverseIterAdapter.html" target="_self">ReverseIterAdapter</a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
+<tr id="row_1_7_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTuple.html" target="_self">ShapeTuple</a></td><td class="desc">Reference to shape tuple objects </td></tr>
+<tr id="row_1_7_49_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_49_" class="arrow" onclick="toggleFolder('1_7_49_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_self">ShapeTupleObj</a></td><td class="desc">An object representing a shape tuple </td></tr>
+<tr id="row_1_7_49_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html" target="_self">FromStd</a></td><td class="desc">An object representing shape tuple moved from std::vector </td></tr>
+<tr id="row_1_7_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1SignaturePrinter.html" target="_self">SignaturePrinter</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_51_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_51_" class="arrow" onclick="toggleFolder('1_7_51_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator.html" target="_self">SimpleObjAllocator</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_51_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html" target="_self">ArrayHandler</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_51_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html" target="_self">Handler</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SmallMapNode.html" target="_self">SmallMapNode</a></td><td class="desc">A specialization of small-sized hash map </td></tr>
+<tr id="row_1_7_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1String.html" target="_self">String</a></td><td class="desc">Reference to string objects </td></tr>
+<tr id="row_1_7_54_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_7_54_" class="arrow" onclick="toggleFolder('1_7_54_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1StringObj.html" target="_self">StringObj</a></td><td class="desc">An object representing string. It's POD type </td></tr>
+<tr id="row_1_7_54_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html" target="_self">FromStd</a></td><td class="desc">An object representing string moved from std::string </td></tr>
+<tr id="row_1_7_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Timer.html" target="_self">Timer</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device. ">Timer</a> for a specific device </td></tr>
+<tr id="row_1_7_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all implementations </td></tr>
+<tr id="row_1_7_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgs.html" target="_self">TVMArgs</a></td><td class="desc">Arguments into TVM functions </td></tr>
+<tr id="row_1_7_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgsSetter.html" target="_self">TVMArgsSetter</a></td><td class="desc"></td></tr>
+<tr id="row_1_7_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html" target="_self">TVMArgValue</a></td><td class="desc">A single argument value to <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed function is a type-erased function. The arguments are passed by packed format. ">PackedFun [...]
+<tr id="row_1_7_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValue__.html" target="_self">TVMMovableArgValue_</a></td><td class="desc">Internal auxiliary struct for <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" title="Please refer to TypedPackedFunc<R(Args..)>. ">TypedPackedFunc</a> [...]
+<tr id="row_1_7_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValueWithContext__.html" target="_self">TVMMovableArgValueWithContext_</a></td><td class="desc">Internal auxiliary struct for <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" title="Please refer to TypedPackedFunc<R(Args..)>. [...]
+<tr id="row_1_7_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html" target="_self">TVMPODValue_</a></td><td class="desc">Internal base class to handle conversion to POD values </td></tr>
+<tr id="row_1_7_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html" target="_self">TVMRetValue</a></td><td class="desc">Return Value container, Unlike <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html" title="A single argument value to PackedFunc. Containing both type_code and TVMValue. ">TVMArgValue [...]
+<tr id="row_1_7_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc.html" target="_self">TypedPackedFunc</a></td><td class="desc">Please refer to <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#TypedPackedFuncAnchor">TypedPackedFunc<R(Args..)></a> </td></tr>
+<tr id="row_1_7_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html" target="_self">TypedPackedFunc< R(Args...)></a></td><td class="desc">A <a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html" title="Packed function is a type-erased function. The arguments are passed by [...]
+<tr id="row_1_7_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1TypeIndex.html" target="_self">TypeIndex</a></td><td class="desc">Namespace for the list of type index </td></tr>
<tr id="row_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_8_" class="arrow" onclick="toggleFolder('1_8_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script.html" target="_self">script</a></td><td class="desc"></td></tr>
<tr id="row_1_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_8_0_" class="arrow" onclick="toggleFolder('1_8_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script_1_1ir__builder.html" target="_self">ir_builder</a></td><td class="desc"></td></tr>
<tr id="row_1_8_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_1_8_0_0_" class="arrow" onclick="toggleFolder('1_8_0_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html" target="_self">details</a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/c__runtime__api_8h.html b/docs/reference/api/doxygen/c__runtime__api_8h.html
index 380096fdb7..1659317ee8 100644
--- a/docs/reference/api/doxygen/c__runtime__api_8h.html
+++ b/docs/reference/api/doxygen/c__runtime__api_8h.html
@@ -84,7 +84,7 @@ Include dependency graph for c_runtime_api.h:</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="c__runtime__api_8h__dep__incl.svg" width="3588" height="1124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="c__runtime__api_8h__dep__incl.svg" width="4416" height="1124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
diff --git a/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg b/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
index be324d2a42..824cf09c86 100644
--- a/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
@@ -4,1224 +4,1230 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: include/tvm/runtime/c_runtime_api.h Pages: 1 -->
-<svg width="2691pt" height="843pt"
- viewBox="0.00 0.00 2691.00 843.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3312pt" height="843pt"
+ viewBox="0.00 0.00 3312.00 843.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 839)">
<title>include/tvm/runtime/c_runtime_api.h</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-839 2687,-839 2687,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-839 3308,-839 3308,4 -4,4"/>
<!-- Node4 -->
<g id="node1" class="node">
<title>Node4</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="1500,-804.5 1500,-834.5 1616,-834.5 1616,-804.5 1500,-804.5"/>
-<text text-anchor="start" x="1508" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1558" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/c_runtime_api.h</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="2102,-804.5 2102,-834.5 2218,-834.5 2218,-804.5 2102,-804.5"/>
+<text text-anchor="start" x="2110" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2160" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/c_runtime_api.h</text>
</g>
<!-- Node5 -->
<g id="node2" class="node">
<title>Node5</title>
<g id="a_node2"><a xlink:href="compute__dag_8h.html" target="_top" xlink:title="The auto-scheduler's computational graph and related program analyses. ">
-<polygon fill="#ffffff" stroke="#000000" points="1770,-469.5 1770,-499.5 1922,-499.5 1922,-469.5 1770,-469.5"/>
-<text text-anchor="start" x="1778" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1846" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/compute_dag.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="38,-469.5 38,-499.5 190,-499.5 190,-469.5 38,-469.5"/>
+<text text-anchor="start" x="46" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="114" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/compute_dag.h</text>
</a>
</g>
</g>
<!-- Node4->Node5 -->
<g id="edge1" class="edge">
<title>Node4->Node5</title>
-<path fill="none" stroke="#191970" d="M1572.5071,-795.6108C1577.5776,-787.0009 1583.1988,-777.1514 1588,-768 1610.3535,-725.3927 1605.0574,-708.4368 1634,-670 1690.3362,-595.1835 1781.0179,-528.4985 1823.1367,-499.6449"/>
-<polygon fill="#191970" stroke="#191970" points="1569.397,-793.9929 1567.286,-804.3753 1575.4108,-797.5754 1569.397,-793.9929"/>
+<path fill="none" stroke="#191970" d="M2091.5627,-818.544C1750.2112,-813.6718 246.3625,-790.9374 204,-768 164.8091,-746.7798 147,-730.0671 147,-685.5 147,-685.5 147,-685.5 147,-618.5 147,-574.4155 129.9521,-524.4779 120.3627,-499.8751"/>
+<polygon fill="#191970" stroke="#191970" points="2091.7459,-822.0469 2101.7948,-818.6897 2091.8457,-815.0476 2091.7459,-822.0469"/>
</g>
<!-- Node13 -->
<g id="node7" class="node">
<title>Node13</title>
<g id="a_node7"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes. ">
-<polygon fill="#ffffff" stroke="#000000" points="858.5,-475 858.5,-494 995.5,-494 995.5,-475 858.5,-475"/>
-<text text-anchor="middle" x="927" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/node.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="937.5,-475 937.5,-494 1074.5,-494 1074.5,-475 937.5,-475"/>
+<text text-anchor="middle" x="1006" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/node.h</text>
</a>
</g>
</g>
<!-- Node4->Node13 -->
<g id="edge6" class="edge">
<title>Node4->Node13</title>
-<path fill="none" stroke="#191970" d="M1489.7942,-818.327C1256.9775,-814.0592 505.6994,-798.0116 464,-768 427.4253,-741.6768 412.4032,-707.0867 438,-670 491.1883,-592.9365 776.0801,-519.6405 884.8007,-494.0629"/>
-<polygon fill="#191970" stroke="#191970" points="1489.7677,-821.827 1499.8297,-818.5095 1489.895,-814.8282 1489.7677,-821.827"/>
+<path fill="none" stroke="#191970" d="M2091.9783,-817.8079C1773.5981,-809.4502 446,-769.56 446,-685.5 446,-685.5 446,-685.5 446,-618.5 446,-518.5332 787.7969,-492.9774 937.333,-486.5803"/>
+<polygon fill="#191970" stroke="#191970" points="2091.9021,-821.307 2101.99,-818.0691 2092.0847,-814.3094 2091.9021,-821.307"/>
</g>
<!-- Node180 -->
<g id="node20" class="node">
<title>Node180</title>
<g id="a_node20"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="157.5,-140 157.5,-159 278.5,-159 278.5,-140 157.5,-140"/>
-<text text-anchor="middle" x="218" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="909.5,-140 909.5,-159 1030.5,-159 1030.5,-140 909.5,-140"/>
+<text text-anchor="middle" x="970" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
</a>
</g>
</g>
<!-- Node4->Node180 -->
-<g id="edge121" class="edge">
+<g id="edge122" class="edge">
<title>Node4->Node180</title>
-<path fill="none" stroke="#191970" d="M1489.7755,-818.3853C1231.2208,-813.961 319.8704,-796.4816 193,-768 101.9794,-747.5665 0,-778.786 0,-685.5 0,-685.5 0,-685.5 0,-278 0,-204.632 92.7704,-172.3028 157.2748,-158.6916"/>
-<polygon fill="#191970" stroke="#191970" points="1489.727,-821.8849 1499.7852,-818.5556 1489.8462,-814.8859 1489.727,-821.8849"/>
+<path fill="none" stroke="#191970" d="M2091.634,-818.4163C1836.3978,-814.1752 939.3832,-797.4683 655,-768 458.3997,-747.6279 218,-883.153 218,-685.5 218,-685.5 218,-685.5 218,-484.5 218,-437.9897 231.747,-423.5184 265,-391 282.5893,-373.7993 641.5364,-208.3962 665,-201 747.4588,-175.0073 846.8344,-161.3391 909.2343,-154.7742"/>
+<polygon fill="#191970" stroke="#191970" points="2091.8181,-821.9198 2101.8746,-818.5855 2091.9338,-814.9207 2091.8181,-821.9198"/>
</g>
<!-- Node194 -->
<g id="node29" class="node">
<title>Node194</title>
<g id="a_node29"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="861.5,-542 861.5,-561 1020.5,-561 1020.5,-542 861.5,-542"/>
-<text text-anchor="middle" x="941" y="-549" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/reflection.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1205.5,-542 1205.5,-561 1364.5,-561 1364.5,-542 1205.5,-542"/>
+<text text-anchor="middle" x="1285" y="-549" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/reflection.h</text>
</a>
</g>
</g>
<!-- Node4->Node194 -->
<g id="edge57" class="edge">
<title>Node4->Node194</title>
-<path fill="none" stroke="#191970" d="M1489.6438,-818.9697C1271.756,-816.8874 602.6937,-807.3259 514,-768 475.5024,-750.9305 463.1156,-739.9065 447,-701 441.7275,-688.271 438.265,-680.6549 447,-670 498.7235,-606.9074 547.5117,-652.374 627,-634 729.693,-610.2622 849.9035,-577.1831 907.2441,-561.0759"/>
-<polygon fill="#191970" stroke="#191970" points="1489.642,-822.4698 1499.6742,-819.0633 1489.7073,-815.4701 1489.642,-822.4698"/>
+<path fill="none" stroke="#191970" d="M2091.5384,-817.5661C1909.5971,-812.082 1423.3151,-795.0524 1356,-768 1270.2499,-733.539 1235.9665,-717.7989 1197,-634 1191.1907,-621.5068 1190.1463,-614.9521 1197,-603 1208.9758,-582.1156 1233.0632,-568.8863 1253.0138,-561.0725"/>
+<polygon fill="#191970" stroke="#191970" points="2091.6847,-821.072 2101.7849,-817.8725 2091.894,-814.0751 2091.6847,-821.072"/>
</g>
<!-- Node200 -->
-<g id="node31" class="node">
+<g id="node30" class="node">
<title>Node200</title>
-<g id="a_node31"><a xlink:href="serialization_8h.html" target="_top" xlink:title="include/tvm/node/serialization.h">
-<polygon fill="#ffffff" stroke="#000000" points="488.5,-676 488.5,-695 661.5,-695 661.5,-676 488.5,-676"/>
-<text text-anchor="middle" x="575" y="-683" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/serialization.h</text>
+<g id="a_node30"><a xlink:href="serialization_8h.html" target="_top" xlink:title="include/tvm/node/serialization.h">
+<polygon fill="#ffffff" stroke="#000000" points="1920.5,-676 1920.5,-695 2093.5,-695 2093.5,-676 1920.5,-676"/>
+<text text-anchor="middle" x="2007" y="-683" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/serialization.h</text>
</a>
</g>
</g>
<!-- Node4->Node200 -->
-<g id="edge61" class="edge">
+<g id="edge60" class="edge">
<title>Node4->Node200</title>
-<path fill="none" stroke="#191970" d="M1489.5909,-816.4183C1336.914,-809.2314 972.2842,-790.2689 851,-768 756.3107,-750.6141 647.9656,-712.7267 600.0422,-695.0007"/>
-<polygon fill="#191970" stroke="#191970" points="1489.6212,-819.9234 1499.7739,-816.8949 1489.9485,-812.9311 1489.6212,-819.9234"/>
+<path fill="none" stroke="#191970" d="M2135.1335,-797.7215C2101.3294,-768.1153 2042.3003,-716.4166 2017.9659,-695.1042"/>
+<polygon fill="#191970" stroke="#191970" points="2132.9176,-800.4334 2142.7464,-804.389 2137.5296,-795.1675 2132.9176,-800.4334"/>
</g>
<!-- Node24 -->
-<g id="node32" class="node">
+<g id="node31" class="node">
<title>Node24</title>
-<g id="a_node32"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="1815.5,-737.5 1815.5,-767.5 1938.5,-767.5 1938.5,-737.5 1815.5,-737.5"/>
-<text text-anchor="start" x="1823.5" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
-<text text-anchor="middle" x="1877" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<g id="a_node31"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
+<polygon fill="#ffffff" stroke="#000000" points="2436.5,-737.5 2436.5,-767.5 2559.5,-767.5 2559.5,-737.5 2436.5,-737.5"/>
+<text text-anchor="start" x="2444.5" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
+<text text-anchor="middle" x="2498" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
</a>
</g>
</g>
<!-- Node4->Node24 -->
-<g id="edge62" class="edge">
+<g id="edge61" class="edge">
<title>Node4->Node24</title>
-<path fill="none" stroke="#191970" d="M1626.1779,-805.5368C1676.0203,-795.2814 1745.2416,-780.9403 1806,-768 1809.085,-767.343 1812.2445,-766.6664 1815.4347,-765.9805"/>
-<polygon fill="#191970" stroke="#191970" points="1625.2516,-802.154 1616.1615,-807.5964 1626.6615,-809.0105 1625.2516,-802.154"/>
+<path fill="none" stroke="#191970" d="M2227.9806,-806.2747C2280.884,-795.9493 2356.1322,-781.1903 2422,-768 2426.6214,-767.0746 2431.3997,-766.1124 2436.2056,-765.141"/>
+<polygon fill="#191970" stroke="#191970" points="2227.1835,-802.8641 2218.0388,-808.2142 2228.5239,-809.7346 2227.1835,-802.8641"/>
</g>
<!-- Node201 -->
-<g id="node33" class="node">
+<g id="node32" class="node">
<title>Node201</title>
-<g id="a_node33"><a xlink:href="builtin__fp16_8h.html" target="_top" xlink:title="Functions for conversion between fp32 and fp16. ">
-<polygon fill="#ffffff" stroke="#000000" points="1957,-737.5 1957,-767.5 2073,-767.5 2073,-737.5 1957,-737.5"/>
-<text text-anchor="start" x="1965" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2015" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builtin_fp16.h</text>
+<g id="a_node32"><a xlink:href="builtin__fp16_8h.html" target="_top" xlink:title="Functions for conversion between fp32 and fp16. ">
+<polygon fill="#ffffff" stroke="#000000" points="2578,-737.5 2578,-767.5 2694,-767.5 2694,-737.5 2578,-737.5"/>
+<text text-anchor="start" x="2586" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2636" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builtin_fp16.h</text>
</a>
</g>
</g>
<!-- Node4->Node201 -->
-<g id="edge63" class="edge">
+<g id="edge62" class="edge">
<title>Node4->Node201</title>
-<path fill="none" stroke="#191970" d="M1626.4254,-812.3798C1704.3544,-803.8218 1835.3473,-788.0716 1947,-768 1950.2177,-767.4216 1953.513,-766.7927 1956.8339,-766.1305"/>
-<polygon fill="#191970" stroke="#191970" points="1625.8179,-808.9252 1616.2563,-813.4887 1626.5769,-815.8839 1625.8179,-808.9252"/>
+<path fill="none" stroke="#191970" d="M2228.1377,-812.974C2309.3967,-804.7133 2449.1665,-788.9908 2568,-768 2571.2194,-767.4313 2574.5161,-766.8102 2577.8381,-766.154"/>
+<polygon fill="#191970" stroke="#191970" points="2227.6369,-809.5067 2218.0388,-813.9928 2228.3396,-816.4714 2227.6369,-809.5067"/>
</g>
<!-- Node202 -->
-<g id="node34" class="node">
+<g id="node33" class="node">
<title>Node202</title>
-<g id="a_node34"><a xlink:href="c__backend__api_8h.html" target="_top" xlink:title="TVM runtime backend API. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="2091,-737.5 2091,-767.5 2207,-767.5 2207,-737.5 2091,-737.5"/>
-<text text-anchor="start" x="2099" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2149" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/c_backend_api.h</text>
+<g id="a_node33"><a xlink:href="c__backend__api_8h.html" target="_top" xlink:title="TVM runtime backend API. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="2712,-737.5 2712,-767.5 2828,-767.5 2828,-737.5 2712,-737.5"/>
+<text text-anchor="start" x="2720" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2770" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/c_backend_api.h</text>
</a>
</g>
</g>
<!-- Node4->Node202 -->
-<g id="edge64" class="edge">
+<g id="edge63" class="edge">
<title>Node4->Node202</title>
-<path fill="none" stroke="#191970" d="M1626.0861,-815.6303C1726.3954,-809.2922 1919.5734,-794.6551 2082,-768 2084.9454,-767.5166 2087.9545,-766.9799 2090.9867,-766.4047"/>
-<polygon fill="#191970" stroke="#191970" points="1625.8476,-812.1383 1616.0849,-816.2541 1626.2834,-819.1247 1625.8476,-812.1383"/>
+<path fill="none" stroke="#191970" d="M2228.4773,-815.9294C2331.818,-809.8823 2533.5629,-795.5092 2703,-768 2705.9462,-767.5217 2708.956,-766.9889 2711.9887,-766.417"/>
+<polygon fill="#191970" stroke="#191970" points="2227.9654,-812.453 2218.1836,-816.5231 2228.3685,-819.4414 2227.9654,-812.453"/>
</g>
<!-- Node206 -->
-<g id="node35" class="node">
+<g id="node34" class="node">
<title>Node206</title>
-<g id="a_node35"><a xlink:href="graph__executor_8h.html" target="_top" xlink:title="Tiny AoT executor. ">
-<polygon fill="#ffffff" stroke="#000000" points="2304.5,-603.5 2304.5,-633.5 2423.5,-633.5 2423.5,-603.5 2304.5,-603.5"/>
-<text text-anchor="start" x="2312.5" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2364" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/graph_executor.h</text>
+<g id="a_node34"><a xlink:href="graph__executor_8h.html" target="_top" xlink:title="Tiny AoT executor. ">
+<polygon fill="#ffffff" stroke="#000000" points="2839.5,-603.5 2839.5,-633.5 2958.5,-633.5 2958.5,-603.5 2839.5,-603.5"/>
+<text text-anchor="start" x="2847.5" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2899" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/graph_executor.h</text>
</a>
</g>
</g>
<!-- Node4->Node206 -->
-<g id="edge65" class="edge">
+<g id="edge64" class="edge">
<title>Node4->Node206</title>
-<path fill="none" stroke="#191970" d="M1626.2715,-817.7835C1820.1927,-812.5781 2362.0458,-795.6145 2388,-768 2423.106,-730.6482 2390.805,-663.4573 2373.4184,-633.5574"/>
-<polygon fill="#191970" stroke="#191970" points="1626.1046,-814.2866 1616.2014,-818.0516 1626.291,-821.2841 1626.1046,-814.2866"/>
+<path fill="none" stroke="#191970" d="M2228.4661,-818.3835C2390.7678,-815.1625 2788.9219,-803.6773 2837,-768 2874.5145,-740.1615 2856.6792,-712.9729 2875,-670 2880.2612,-657.6594 2886.7058,-643.8961 2891.5916,-633.7044"/>
+<polygon fill="#191970" stroke="#191970" points="2228.0532,-814.8908 2218.1229,-818.5839 2228.1888,-821.8895 2228.0532,-814.8908"/>
</g>
<!-- Node205 -->
-<g id="node36" class="node">
+<g id="node35" class="node">
<title>Node205</title>
-<g id="a_node36"><a xlink:href="crt_2packed__func_8h.html" target="_top" xlink:title="Type-erased function used across TVM API. ">
-<polygon fill="#ffffff" stroke="#000000" points="2263,-670.5 2263,-700.5 2379,-700.5 2379,-670.5 2263,-670.5"/>
-<text text-anchor="start" x="2271" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2321" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/packed_func.h</text>
+<g id="a_node35"><a xlink:href="crt_2packed__func_8h.html" target="_top" xlink:title="Type-erased function used across TVM API. ">
+<polygon fill="#ffffff" stroke="#000000" points="2884,-670.5 2884,-700.5 3000,-700.5 3000,-670.5 2884,-670.5"/>
+<text text-anchor="start" x="2892" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2942" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/packed_func.h</text>
</a>
</g>
</g>
<!-- Node4->Node205 -->
-<g id="edge66" class="edge">
+<g id="edge65" class="edge">
<title>Node4->Node205</title>
-<path fill="none" stroke="#191970" d="M1626.163,-816.4728C1783.4186,-809.1594 2162.2712,-789.5349 2216,-768 2236.2314,-759.8911 2236.9134,-750.5318 2254,-737 2269.6417,-724.6125 2287.5733,-710.852 2300.9472,-700.6735"/>
-<polygon fill="#191970" stroke="#191970" points="1625.9588,-812.9785 1616.1311,-816.9367 1626.2821,-819.971 1625.9588,-812.9785"/>
+<path fill="none" stroke="#191970" d="M2228.4466,-817.878C2425.5927,-812.8753 2982.3723,-796.2919 3009,-768 3029.9921,-745.6959 2995.5885,-717.6286 2968.8039,-700.6504"/>
+<polygon fill="#191970" stroke="#191970" points="2228.1235,-814.3849 2218.2147,-818.1354 2228.2996,-821.3827 2228.1235,-814.3849"/>
</g>
<!-- Node207 -->
-<g id="node37" class="node">
+<g id="node36" class="node">
<title>Node207</title>
-<g id="a_node37"><a xlink:href="page__allocator_8h.html" target="_top" xlink:title="An implementation of a dynamic memory allocator for microcontrollers. ">
-<polygon fill="#ffffff" stroke="#000000" points="2435,-737.5 2435,-767.5 2551,-767.5 2551,-737.5 2435,-737.5"/>
-<text text-anchor="start" x="2443" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2493" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/page_allocator.h</text>
+<g id="a_node36"><a xlink:href="page__allocator_8h.html" target="_top" xlink:title="An implementation of a dynamic memory allocator for microcontrollers. ">
+<polygon fill="#ffffff" stroke="#000000" points="3056,-737.5 3056,-767.5 3172,-767.5 3172,-737.5 3056,-737.5"/>
+<text text-anchor="start" x="3064" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="3114" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/page_allocator.h</text>
</a>
</g>
</g>
<!-- Node4->Node207 -->
-<g id="edge68" class="edge">
+<g id="edge67" class="edge">
<title>Node4->Node207</title>
-<path fill="none" stroke="#191970" d="M1626.3199,-816.7715C1802.2609,-809.5286 2267.8125,-788.9353 2421,-768 2425.5607,-767.3767 2430.2625,-766.6222 2434.9756,-765.7857"/>
-<polygon fill="#191970" stroke="#191970" points="1626.0032,-813.2815 1616.155,-817.1884 1626.29,-820.2756 1626.0032,-813.2815"/>
+<path fill="none" stroke="#191970" d="M2228.2783,-816.8739C2406.8958,-809.7861 2884.9873,-789.3556 3042,-768 3046.5611,-767.3796 3051.2632,-766.6272 3055.9765,-765.7922"/>
+<polygon fill="#191970" stroke="#191970" points="2228.073,-813.3792 2218.2191,-817.2716 2228.3495,-820.3738 2228.073,-813.3792"/>
</g>
<!-- Node208 -->
-<g id="node38" class="node">
+<g id="node37" class="node">
<title>Node208</title>
-<g id="a_node38"><a xlink:href="platform_8h.html" target="_top" xlink:title="The virtual memory manager for micro-controllers. ">
-<polygon fill="#ffffff" stroke="#000000" points="2263,-737.5 2263,-767.5 2379,-767.5 2379,-737.5 2263,-737.5"/>
-<text text-anchor="start" x="2271" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2321" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/platform.h</text>
+<g id="a_node37"><a xlink:href="platform_8h.html" target="_top" xlink:title="The virtual memory manager for micro-controllers. ">
+<polygon fill="#ffffff" stroke="#000000" points="2884,-737.5 2884,-767.5 3000,-767.5 3000,-737.5 2884,-737.5"/>
+<text text-anchor="start" x="2892" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2942" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/crt/platform.h</text>
</a>
</g>
</g>
<!-- Node4->Node208 -->
-<g id="edge69" class="edge">
+<g id="edge68" class="edge">
<title>Node4->Node208</title>
-<path fill="none" stroke="#191970" d="M1626.2139,-817.5278C1750.5859,-813.242 2022.3006,-800.691 2249,-768 2253.556,-767.343 2258.2544,-766.5643 2262.9651,-765.711"/>
-<polygon fill="#191970" stroke="#191970" points="1625.9545,-814.0345 1616.0783,-817.8699 1626.1907,-821.0305 1625.9545,-814.0345"/>
+<path fill="none" stroke="#191970" d="M2228.6275,-817.7049C2355.7417,-813.6751 2636.1755,-801.4818 2870,-768 2874.5566,-767.3475 2879.2555,-766.572 2883.9666,-765.7211"/>
+<polygon fill="#191970" stroke="#191970" points="2228.1617,-814.2176 2218.2749,-818.0257 2228.3786,-821.2142 2228.1617,-814.2176"/>
</g>
<!-- Node209 -->
-<g id="node39" class="node">
+<g id="node38" class="node">
<title>Node209</title>
-<g id="a_node39"><a xlink:href="data__type_8h.html" target="_top" xlink:title="include/tvm/runtime\l/data_type.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="202,-737.5 202,-767.5 318,-767.5 318,-737.5 202,-737.5"/>
-<text text-anchor="start" x="210" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="260" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/data_type.h</text>
+<g id="a_node38"><a xlink:href="data__type_8h.html" target="_top" xlink:title="include/tvm/runtime\l/data_type.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="996,-737.5 996,-767.5 1112,-767.5 1112,-737.5 996,-737.5"/>
+<text text-anchor="start" x="1004" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1054" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/data_type.h</text>
</a>
</g>
</g>
<!-- Node4->Node209 -->
-<g id="edge71" class="edge">
+<g id="edge70" class="edge">
<title>Node4->Node209</title>
-<path fill="none" stroke="#191970" d="M1489.5664,-818.1584C1266.0139,-813.535 558.6086,-796.9377 332,-768 327.434,-767.4169 322.7283,-766.6913 318.0126,-765.8748"/>
-<polygon fill="#191970" stroke="#191970" points="1489.7723,-821.6633 1499.8421,-818.3696 1489.9162,-814.6648 1489.7723,-821.6633"/>
+<path fill="none" stroke="#191970" d="M2091.646,-817.5453C1892.2648,-811.6136 1313.6329,-792.7031 1126,-768 1121.4363,-767.3992 1116.7323,-766.6608 1112.0177,-765.8354"/>
+<polygon fill="#191970" stroke="#191970" points="2091.5987,-821.0453 2101.6979,-817.8429 2091.8059,-814.0484 2091.5987,-821.0453"/>
</g>
<!-- Node212 -->
-<g id="node40" class="node">
+<g id="node39" class="node">
<title>Node212</title>
-<g id="a_node40"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device-independent managed NDArray abstraction. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1014,-670.5 1014,-700.5 1130,-700.5 1130,-670.5 1014,-670.5"/>
-<text text-anchor="start" x="1022" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1072" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/ndarray.h</text>
+<g id="a_node39"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device-independent managed NDArray abstraction. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1330,-670.5 1330,-700.5 1446,-700.5 1446,-670.5 1330,-670.5"/>
+<text text-anchor="start" x="1338" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1388" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/ndarray.h</text>
</a>
</g>
</g>
<!-- Node4->Node212 -->
-<g id="edge100" class="edge">
+<g id="edge101" class="edge">
<title>Node4->Node212</title>
-<path fill="none" stroke="#191970" d="M1489.6894,-813.4807C1426.2466,-806.6398 1329.6992,-793.0212 1249,-768 1193.1404,-750.6804 1132.1945,-719.243 1098.3796,-700.5776"/>
-<polygon fill="#191970" stroke="#191970" points="1489.6577,-816.9966 1499.9687,-814.561 1490.3893,-810.0349 1489.6577,-816.9966"/>
+<path fill="none" stroke="#191970" d="M2091.9188,-817.425C1927.0082,-811.9838 1515.5884,-795.7733 1460,-768 1430.2395,-753.1309 1407.5216,-720.0384 1396.1248,-700.5856"/>
+<polygon fill="#191970" stroke="#191970" points="2091.8384,-820.9242 2101.9474,-817.7527 2092.067,-813.9279 2091.8384,-820.9242"/>
</g>
<!-- Node214 -->
-<g id="node41" class="node">
+<g id="node40" class="node">
<title>Node214</title>
-<g id="a_node41"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1327,-536.5 1327,-566.5 1443,-566.5 1443,-536.5 1327,-536.5"/>
-<text text-anchor="start" x="1335" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1385" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/device_api.h</text>
+<g id="a_node40"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1858,-536.5 1858,-566.5 1974,-566.5 1974,-536.5 1858,-536.5"/>
+<text text-anchor="start" x="1866" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1916" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/device_api.h</text>
</a>
</g>
</g>
<!-- Node4->Node214 -->
<g id="edge95" class="edge">
<title>Node4->Node214</title>
-<path fill="none" stroke="#191970" d="M1550.5323,-794.9129C1536.7167,-752.3471 1503.9449,-663.6728 1454,-603 1442.0298,-588.4587 1425.1276,-575.7557 1411.0481,-566.604"/>
-<polygon fill="#191970" stroke="#191970" points="1547.2011,-795.9871 1553.5621,-804.46 1553.8732,-793.8697 1547.2011,-795.9871"/>
+<path fill="none" stroke="#191970" d="M2161.3915,-794.0966C2162.3833,-747.5781 2156.9456,-649.252 2098,-603 2078.6889,-587.8474 2019.8637,-572.8291 1974.2614,-562.9559"/>
+<polygon fill="#191970" stroke="#191970" points="2157.8888,-794.1209 2161.0532,-804.2321 2164.8849,-794.3545 2157.8888,-794.1209"/>
</g>
<!-- Node215 -->
-<g id="node42" class="node">
+<g id="node41" class="node">
<title>Node215</title>
-<g id="a_node42"><a xlink:href="profiling_8h.html" target="_top" xlink:title="Runtime profiling including timers. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1318,-469.5 1318,-499.5 1434,-499.5 1434,-469.5 1318,-469.5"/>
-<text text-anchor="start" x="1326" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1376" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/profiling.h</text>
+<g id="a_node41"><a xlink:href="conv2d_8h.html" target="_top" xlink:title="include/tvm/runtime\l/hexagon/ops/conv2d.h">
+<polygon fill="#ffffff" stroke="#000000" points="2171.5,-469.5 2171.5,-499.5 2300.5,-499.5 2300.5,-469.5 2171.5,-469.5"/>
+<text text-anchor="start" x="2179.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2236" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/hexagon/ops/conv2d.h</text>
</a>
</g>
</g>
<!-- Node4->Node215 -->
-<g id="edge117" class="edge">
+<g id="edge96" class="edge">
<title>Node4->Node215</title>
-<path fill="none" stroke="#191970" d="M1563.2316,-794.0743C1569.9357,-763.7705 1582.8931,-711.9611 1601,-670 1626.9259,-609.919 1703.9705,-586.2031 1662,-536 1633.5642,-501.9865 1509.3762,-490.4024 1434.3104,-486.4822"/>
-<polygon fill="#191970" stroke="#191970" points="1559.7331,-793.6947 1561.0466,-804.2078 1566.5758,-795.1702 1559.7331,-793.6947"/>
+<path fill="none" stroke="#191970" d="M2187.2194,-797.543C2196.1906,-789.1203 2205.5185,-778.895 2212,-768 2231.5237,-735.1816 2236,-723.6867 2236,-685.5 2236,-685.5 2236,-685.5 2236,-618.5 2236,-575.4618 2236,-524.6482 2236,-499.7729"/>
+<polygon fill="#191970" stroke="#191970" points="2184.6203,-795.1723 2179.5081,-804.4522 2189.2915,-800.3858 2184.6203,-795.1723"/>
</g>
-<!-- Node217 -->
-<g id="node43" class="node">
-<title>Node217</title>
-<g id="a_node43"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type-erased function used across TVM API. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1329,-603.5 1329,-633.5 1445,-633.5 1445,-603.5 1329,-603.5"/>
-<text text-anchor="start" x="1337" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1387" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/packed_func.h</text>
+<!-- Node216 -->
+<g id="node42" class="node">
+<title>Node216</title>
+<g id="a_node42"><a xlink:href="profiling_8h.html" target="_top" xlink:title="Runtime profiling including timers. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1815,-469.5 1815,-499.5 1931,-499.5 1931,-469.5 1815,-469.5"/>
+<text text-anchor="start" x="1823" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1873" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/profiling.h</text>
</a>
</g>
</g>
-<!-- Node4->Node217 -->
-<g id="edge116" class="edge">
-<title>Node4->Node217</title>
-<path fill="none" stroke="#191970" d="M1512.6297,-799.8571C1497.169,-791.6181 1480.6202,-780.9167 1468,-768 1428.1844,-727.2492 1402.3649,-662.971 1392.0682,-633.802"/>
-<polygon fill="#191970" stroke="#191970" points="1511.0713,-802.9912 1521.5692,-804.4217 1514.2547,-796.7569 1511.0713,-802.9912"/>
+<!-- Node4->Node216 -->
+<g id="edge118" class="edge">
+<title>Node4->Node216</title>
+<path fill="none" stroke="#191970" d="M2168.7197,-794.8459C2171.2775,-786.4406 2173.7283,-776.9138 2175,-768 2185.8044,-692.2681 2181.8586,-655.2673 2126,-603 2069.2454,-549.8943 1984.4077,-516.8406 1928.8847,-499.544"/>
+<polygon fill="#191970" stroke="#191970" points="2165.3685,-793.8339 2165.6187,-804.4257 2172.0283,-795.9897 2165.3685,-793.8339"/>
</g>
<!-- Node218 -->
-<g id="node44" class="node">
+<g id="node43" class="node">
<title>Node218</title>
-<g id="a_node44"><a xlink:href="runtime_2module_8h.html" target="_top" xlink:title="Runtime container of the functions generated by TVM, This is used to support dynamically link...">
-<polygon fill="#ffffff" stroke="#ff0000" points="1537,-536.5 1537,-566.5 1653,-566.5 1653,-536.5 1537,-536.5"/>
-<text text-anchor="start" x="1545" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1595" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/module.h</text>
+<g id="a_node43"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type-erased function used across TVM API. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1648,-603.5 1648,-633.5 1764,-633.5 1764,-603.5 1648,-603.5"/>
+<text text-anchor="start" x="1656" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1706" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/packed_func.h</text>
</a>
</g>
</g>
<!-- Node4->Node218 -->
-<g id="edge99" class="edge">
+<g id="edge117" class="edge">
<title>Node4->Node218</title>
-<path fill="none" stroke="#191970" d="M1557.0717,-793.7247C1556.4068,-763.7999 1556.5568,-713.0424 1563,-670 1568.6787,-632.065 1582.192,-588.8915 1589.7151,-566.6006"/>
-<polygon fill="#191970" stroke="#191970" points="1553.5836,-794.2133 1557.355,-804.1141 1560.581,-794.0224 1553.5836,-794.2133"/>
+<path fill="none" stroke="#191970" d="M2091.6252,-817.0784C1966.226,-811.9294 1709.792,-797.8403 1683,-768 1648.9649,-730.0924 1679.7227,-663.7837 1696.6173,-633.8889"/>
+<polygon fill="#191970" stroke="#191970" points="2091.7495,-820.5862 2101.8823,-817.4916 2092.0313,-813.5918 2091.7495,-820.5862"/>
</g>
-<!-- Node223 -->
-<g id="node45" class="node">
-<title>Node223</title>
-<g id="a_node45"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="#ffffff" stroke="#000000" points="1119,-603.5 1119,-633.5 1235,-633.5 1235,-603.5 1119,-603.5"/>
-<text text-anchor="start" x="1127" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1177" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/serializer.h</text>
+<!-- Node219 -->
+<g id="node44" class="node">
+<title>Node219</title>
+<g id="a_node44"><a xlink:href="runtime_2module_8h.html" target="_top" xlink:title="Runtime container of the functions generated by TVM, This is used to support dynamically link...">
+<polygon fill="#ffffff" stroke="#ff0000" points="1686,-536.5 1686,-566.5 1802,-566.5 1802,-536.5 1686,-536.5"/>
+<text text-anchor="start" x="1694" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1744" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/module.h</text>
</a>
</g>
</g>
-<!-- Node4->Node223 -->
-<g id="edge118" class="edge">
-<title>Node4->Node223</title>
-<path fill="none" stroke="#191970" d="M1511.4471,-800.5202C1489.5206,-791.2419 1463.1559,-779.5941 1440,-768 1350.0655,-722.97 1247.5135,-661.6528 1201.5459,-633.6131"/>
-<polygon fill="#191970" stroke="#191970" points="1510.2898,-803.8303 1520.865,-804.4757 1513.0005,-797.3764 1510.2898,-803.8303"/>
+<!-- Node4->Node219 -->
+<g id="edge100" class="edge">
+<title>Node4->Node219</title>
+<path fill="none" stroke="#191970" d="M2156.8771,-794.2636C2151.478,-761.2336 2137.3469,-703.6078 2102,-670 2058.2902,-628.4407 1892.0524,-585.3203 1802.3018,-564.4139"/>
+<polygon fill="#191970" stroke="#191970" points="2153.4592,-795.0752 2158.3914,-804.452 2160.3831,-794.046 2153.4592,-795.0752"/>
</g>
<!-- Node224 -->
-<g id="node46" class="node">
+<g id="node45" class="node">
<title>Node224</title>
-<g id="a_node46"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="849.5,-603.5 849.5,-633.5 986.5,-633.5 986.5,-603.5 849.5,-603.5"/>
-<text text-anchor="start" x="857.5" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="918" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/vm/memory_manager.h</text>
+<g id="a_node45"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
+<polygon fill="#ffffff" stroke="#000000" points="1206,-603.5 1206,-633.5 1322,-633.5 1322,-603.5 1206,-603.5"/>
+<text text-anchor="start" x="1214" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1264" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/serializer.h</text>
</a>
</g>
</g>
<!-- Node4->Node224 -->
<g id="edge119" class="edge">
<title>Node4->Node224</title>
-<path fill="none" stroke="#191970" d="M1489.5912,-817.0723C1317.8091,-810.6865 871.5715,-792.2295 725,-768 613.2014,-749.5187 547.7975,-791.0411 479,-701 414.679,-616.8177 351.8214,-687.7094 797,-634 813.926,-631.9579 832.1718,-629.6675 849.2335,-627.4868"/>
-<polygon fill="#191970" stroke="#191970" points="1489.648,-820.5767 1499.7705,-817.4485 1489.9066,-813.5814 1489.648,-820.5767"/>
+<path fill="none" stroke="#191970" d="M2091.7895,-816.7774C1920.6899,-809.6611 1482.4854,-789.5581 1420,-768 1369.7759,-750.6722 1358.7486,-738.3866 1321,-701 1300.2198,-680.419 1282.1657,-651.3208 1272.2091,-633.7477"/>
+<polygon fill="#191970" stroke="#191970" points="2091.7993,-820.2808 2101.9355,-817.1972 2092.0888,-813.2867 2091.7993,-820.2808"/>
+</g>
+<!-- Node225 -->
+<g id="node46" class="node">
+<title>Node225</title>
+<g id="a_node46"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1416.5,-603.5 1416.5,-633.5 1553.5,-633.5 1553.5,-603.5 1416.5,-603.5"/>
+<text text-anchor="start" x="1424.5" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1485" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/vm/memory_manager.h</text>
+</a>
+</g>
+</g>
+<!-- Node4->Node225 -->
+<g id="edge120" class="edge">
+<title>Node4->Node225</title>
+<path fill="none" stroke="#191970" d="M2091.7713,-815.436C1975.3472,-807.9956 1743.3042,-790.8271 1665,-768 1601.0757,-749.3649 1579.13,-747.0118 1531,-701 1510.8487,-681.7356 1497.1758,-651.676 1490.2635,-633.6537"/>
+<polygon fill="#191970" stroke="#191970" points="2091.7881,-818.944 2101.9893,-816.083 2092.2305,-811.958 2091.7881,-818.944"/>
</g>
<!-- Node172 -->
<g id="node47" class="node">
<title>Node172</title>
<g id="a_node47"><a xlink:href="metadata_8h.html" target="_top" xlink:title="Defines types which can be used in Metadata. ">
-<polygon fill="#ffffff" stroke="#000000" points="1643,-670.5 1643,-700.5 1759,-700.5 1759,-670.5 1643,-670.5"/>
-<text text-anchor="start" x="1651" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1701" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/metadata.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2264,-670.5 2264,-700.5 2380,-700.5 2380,-670.5 2264,-670.5"/>
+<text text-anchor="start" x="2272" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2322" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/metadata.h</text>
</a>
</g>
</g>
<!-- Node4->Node172 -->
-<g id="edge96" class="edge">
+<g id="edge97" class="edge">
<title>Node4->Node172</title>
-<path fill="none" stroke="#191970" d="M1590.134,-798.5005C1602.7463,-789.678 1617.0353,-778.9336 1629,-768 1652.436,-746.5838 1675.9351,-718.001 1689.4417,-700.7155"/>
-<polygon fill="#191970" stroke="#191970" points="1587.9808,-795.7333 1581.7195,-804.2801 1591.944,-801.5034 1587.9808,-795.7333"/>
+<path fill="none" stroke="#191970" d="M2228.4661,-813.4225C2288.4744,-806.5095 2369.1458,-792.8151 2389,-768 2407.9045,-744.3719 2375.0908,-717.1593 2349.0644,-700.6518"/>
+<polygon fill="#191970" stroke="#191970" points="2227.8269,-809.9719 2218.2747,-814.555 2228.6001,-816.9291 2227.8269,-809.9719"/>
</g>
-<!-- Node226 -->
+<!-- Node227 -->
<g id="node48" class="node">
-<title>Node226</title>
+<title>Node227</title>
<g id="a_node48"><a xlink:href="metadata__types_8h.html" target="_top" xlink:title="Defines types which can be used in metadata here which are also shared between C and C++ code bases...">
-<polygon fill="#ffffff" stroke="#ff0000" points="1681,-737.5 1681,-767.5 1797,-767.5 1797,-737.5 1681,-737.5"/>
-<text text-anchor="start" x="1689" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="1739" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/metadata_types.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="2264,-737.5 2264,-767.5 2380,-767.5 2380,-737.5 2264,-737.5"/>
+<text text-anchor="start" x="2272" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2322" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/metadata_types.h</text>
</a>
</g>
</g>
-<!-- Node4->Node226 -->
-<g id="edge97" class="edge">
-<title>Node4->Node226</title>
-<path fill="none" stroke="#191970" d="M1608.3423,-800.865C1636.6747,-790.3773 1671.5938,-777.4515 1698.2029,-767.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1606.783,-797.71 1598.6199,-804.4639 1609.2131,-804.2747 1606.783,-797.71"/>
+<!-- Node4->Node227 -->
+<g id="edge98" class="edge">
+<title>Node4->Node227</title>
+<path fill="none" stroke="#191970" d="M2205.7235,-800.5897C2230.9614,-790.1518 2261.8776,-777.3654 2285.4855,-767.6017"/>
+<polygon fill="#191970" stroke="#191970" points="2204.2592,-797.4077 2196.356,-804.4639 2206.9345,-803.8763 2204.2592,-797.4077"/>
</g>
-<!-- Node228 -->
+<!-- Node229 -->
<g id="node49" class="node">
-<title>Node228</title>
+<title>Node229</title>
<g id="a_node49"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="860,-737.5 860,-767.5 976,-767.5 976,-737.5 860,-737.5"/>
-<text text-anchor="start" x="868" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="918" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/object.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1692,-737.5 1692,-767.5 1808,-767.5 1808,-737.5 1692,-737.5"/>
+<text text-anchor="start" x="1700" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="1750" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/object.h</text>
</a>
</g>
</g>
-<!-- Node4->Node228 -->
-<g id="edge101" class="edge">
-<title>Node4->Node228</title>
-<path fill="none" stroke="#191970" d="M1489.8393,-812.3644C1363.4117,-799.129 1094.6799,-770.9962 976.1898,-758.5917"/>
-<polygon fill="#191970" stroke="#191970" points="1489.4818,-815.846 1499.7919,-813.4063 1490.2107,-808.8841 1489.4818,-815.846"/>
+<!-- Node4->Node229 -->
+<g id="edge102" class="edge">
+<title>Node4->Node229</title>
+<path fill="none" stroke="#191970" d="M2091.7972,-808.3547C2012.4631,-795.3903 1882.849,-774.2095 1808.1065,-761.9954"/>
+<polygon fill="#191970" stroke="#191970" points="2091.2588,-811.813 2101.6924,-809.9717 2092.3878,-804.9047 2091.2588,-811.813"/>
</g>
-<!-- Node242 -->
+<!-- Node243 -->
<g id="node50" class="node">
-<title>Node242</title>
+<title>Node243</title>
<g id="a_node50"><a xlink:href="parallel__for_8h.html" target="_top" xlink:title="An implementation to run loop in parallel. ">
-<polygon fill="#ffffff" stroke="#000000" points="2569,-737.5 2569,-767.5 2683,-767.5 2683,-737.5 2569,-737.5"/>
-<text text-anchor="start" x="2577" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/support</text>
-<text text-anchor="middle" x="2626" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parallel_for.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="3190,-737.5 3190,-767.5 3304,-767.5 3304,-737.5 3190,-737.5"/>
+<text text-anchor="start" x="3198" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/support</text>
+<text text-anchor="middle" x="3247" y="-744.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parallel_for.h</text>
</a>
</g>
</g>
-<!-- Node4->Node242 -->
-<g id="edge120" class="edge">
-<title>Node4->Node242</title>
-<path fill="none" stroke="#191970" d="M1626.2523,-817.5884C1821.3569,-811.8702 2379.0302,-793.6891 2560,-768 2562.9133,-767.5864 2565.887,-767.1058 2568.8816,-766.5752"/>
-<polygon fill="#191970" stroke="#191970" points="1626.0258,-814.0934 1616.132,-817.8833 1626.2297,-821.0904 1626.0258,-814.0934"/>
+<!-- Node4->Node243 -->
+<g id="edge121" class="edge">
+<title>Node4->Node243</title>
+<path fill="none" stroke="#191970" d="M2228.5027,-817.6566C2426.3533,-812.0765 2996.2714,-794.1328 3181,-768 3183.9135,-767.5878 3186.8874,-767.1084 3189.8821,-766.5786"/>
+<polygon fill="#191970" stroke="#191970" points="2228.1421,-814.1652 2218.2442,-817.9442 2228.3384,-821.1625 2228.1421,-814.1652"/>
</g>
<!-- Node6 -->
<g id="node3" class="node">
<title>Node6</title>
<g id="a_node3"><a xlink:href="auto__scheduler_2cost__model_8h.html" target="_top" xlink:title="Cost models that estimate the performance of programs. ">
-<polygon fill="#ffffff" stroke="#000000" points="1718,-397 1718,-427 1870,-427 1870,-397 1718,-397"/>
-<text text-anchor="start" x="1726" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1794" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/cost_model.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="398,-397 398,-427 550,-427 550,-397 398,-397"/>
+<text text-anchor="start" x="406" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="474" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/cost_model.h</text>
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id="edge2" class="edge">
<title>Node5->Node6</title>
-<path fill="none" stroke="#191970" d="M1829.3918,-461.3443C1821.3269,-450.1 1811.8693,-436.9139 1804.7606,-427.0028"/>
-<polygon fill="#191970" stroke="#191970" points="1826.5532,-463.3919 1835.2256,-469.478 1832.2413,-459.3121 1826.5532,-463.3919"/>
+<path fill="none" stroke="#191970" d="M198.5727,-467.468C259.5205,-455.1938 341.0016,-438.7844 399.5033,-427.0028"/>
+<polygon fill="#191970" stroke="#191970" points="197.7044,-464.0725 188.5922,-469.478 199.0864,-470.9347 197.7044,-464.0725"/>
</g>
<!-- Node7 -->
<g id="node4" class="node">
<title>Node7</title>
<g id="a_node4"><a xlink:href="auto__scheduler_2feature_8h.html" target="_top" xlink:title="Feature extraction for the cost model. We extract one feature vector per BufferStoreNode statement in...">
-<polygon fill="#ffffff" stroke="#000000" points="1926,-397 1926,-427 2078,-427 2078,-397 1926,-397"/>
-<text text-anchor="start" x="1934" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="2002" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/feature.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-397 0,-427 152,-427 152,-397 0,-397"/>
+<text text-anchor="start" x="8" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="76" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/feature.h</text>
</a>
</g>
</g>
<!-- Node5->Node7 -->
<g id="edge3" class="edge">
<title>Node5->Node7</title>
-<path fill="none" stroke="#191970" d="M1887.4772,-465.2237C1913.2457,-453.248 1945.8832,-438.0799 1969.7181,-427.0028"/>
-<polygon fill="#191970" stroke="#191970" points="1885.9167,-462.0894 1878.3233,-469.478 1888.8669,-468.4373 1885.9167,-462.0894"/>
+<path fill="none" stroke="#191970" d="M101.3406,-460.3473C95.5646,-449.3272 88.9055,-436.6224 83.8635,-427.0028"/>
+<polygon fill="#191970" stroke="#191970" points="98.384,-462.2457 106.1264,-469.478 104.584,-458.996 98.384,-462.2457"/>
</g>
<!-- Node8 -->
<g id="node5" class="node">
<title>Node8</title>
<g id="a_node5"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1466,-134.5 1466,-164.5 1618,-164.5 1618,-134.5 1466,-134.5"/>
-<text text-anchor="start" x="1474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1542" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="222,-134.5 222,-164.5 374,-164.5 374,-134.5 222,-134.5"/>
+<text text-anchor="start" x="230" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="298" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
</a>
</g>
</g>
<!-- Node5->Node8 -->
<g id="edge4" class="edge">
<title>Node5->Node8</title>
-<path fill="none" stroke="#191970" d="M1864.5768,-461.1698C1877.5896,-441.8047 1890.7311,-413.8391 1879,-391 1816.104,-268.5492 1659.099,-194.2726 1583.7003,-164.5326"/>
-<polygon fill="#191970" stroke="#191970" points="1861.6547,-459.2392 1858.6968,-469.4128 1867.3534,-463.3044 1861.6547,-459.2392"/>
+<path fill="none" stroke="#191970" d="M139.4697,-461.9485C147.4794,-453.6014 155.6264,-443.5757 161,-433 180.2088,-395.1953 180,-381.9049 180,-339.5 180,-339.5 180,-339.5 180,-278 180,-225.45 234.2002,-185.1068 269.134,-164.5619"/>
+<polygon fill="#191970" stroke="#191970" points="136.8802,-459.5871 132.2361,-469.1098 141.805,-464.5616 136.8802,-459.5871"/>
</g>
<!-- Node12 -->
<g id="node6" class="node">
<title>Node12</title>
<g id="a_node6"><a xlink:href="search__policy_8h.html" target="_top" xlink:title="The base class of search policies, including the abstract definition of search policy and other suppo...">
-<polygon fill="#ffffff" stroke="#ff0000" points="1406,-67.5 1406,-97.5 1558,-97.5 1558,-67.5 1406,-67.5"/>
-<text text-anchor="start" x="1414" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1482" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_policy.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="278,-67.5 278,-97.5 430,-97.5 430,-67.5 278,-67.5"/>
+<text text-anchor="start" x="286" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="354" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_policy.h</text>
</a>
</g>
</g>
<!-- Node8->Node12 -->
<g id="edge5" class="edge">
<title>Node8->Node12</title>
-<path fill="none" stroke="#191970" d="M1521.527,-126.6385C1512.954,-117.0653 1503.2227,-106.1987 1495.561,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1519.1065,-129.1821 1528.3851,-134.2967 1524.3212,-124.5122 1519.1065,-129.1821"/>
+<path fill="none" stroke="#191970" d="M317.3485,-126.3509C325.2911,-116.8482 334.2636,-106.1132 341.343,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="314.4349,-124.3792 310.7073,-134.2967 319.8059,-128.8684 314.4349,-124.3792"/>
</g>
<!-- Node13->Node6 -->
<g id="edge7" class="edge">
<title>Node13->Node6</title>
-<path fill="none" stroke="#191970" d="M978.8388,-472.9801C987.2172,-471.4317 995.8238,-470.0263 1004,-469 1314.8584,-429.9807 1398.0035,-478.3608 1708,-433 1718.0368,-431.5313 1728.6146,-429.4242 1738.7873,-427.1053"/>
-<polygon fill="#191970" stroke="#191970" points="977.9312,-469.5907 968.7766,-474.9239 979.2589,-476.4636 977.9312,-469.5907"/>
... 66361 lines suppressed ...