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/10/19 09:44:19 UTC
[tvm-site] branch asf-site updated: deploying docs (apache/tvm@a4840e7de38c5a2000917f2101f3ec4a374bcd39)
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 592852b27b deploying docs (apache/tvm@a4840e7de38c5a2000917f2101f3ec4a374bcd39)
592852b27b is described below
commit 592852b27bb03fb68d20717cd6225e56455bfa29
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Wed Oct 19 09:44:12 2022 +0000
deploying docs (apache/tvm@a4840e7de38c5a2000917f2101f3ec4a374bcd39)
---
.../tvmc_python.py | 2 +-
.../tvmc_python.ipynb | 2 +-
.../tune_network_x86.ipynb | 2 +-
.../tune_network_cuda.ipynb | 2 +-
.../micro_aot.ipynb | 2 +-
.../tune_network_x86.py | 2 +-
.../tune_network_cuda.py | 2 +-
.../f8a7209a0e66b246185bfc41bbc82f54/micro_aot.py | 4 +-
docs/_images/sphx_glr_micro_train_001.png | Bin 332190 -> 331892 bytes
docs/_images/sphx_glr_micro_train_thumb.png | Bin 23824 -> 23825 bytes
docs/_sources/arch/hybrid_script.rst.txt | 2 +-
docs/_sources/contribute/release_process.rst.txt | 10 +-
docs/_sources/dev/how_to/relay_add_op.rst.txt | 56 +-
docs/_sources/errors.rst.txt | 1 -
.../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 +-
.../_sources/how_to/deploy/arm_compute_lib.rst.txt | 2 +-
docs/_sources/how_to/deploy/index.rst.txt | 14 +-
docs/_sources/how_to/deploy/vitis_ai.rst.txt | 154 ++-
.../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 | 18 +-
.../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 | 1126 ++++++++------------
.../tune_network_cuda.rst.txt | 6 +-
.../tune_network_x86.rst.txt | 6 +-
.../tune_sparse_x86.rst.txt | 22 +-
.../tune_with_autotvm/sg_execution_times.rst.txt | 4 +-
.../tune_with_autotvm/tune_conv2d_cuda.rst.txt | 100 +-
.../how_to/work_with_microtvm/micro_aot.rst.txt | 4 +-
.../work_with_microtvm/micro_autotune.rst.txt | 16 +-
.../how_to/work_with_microtvm/micro_train.rst.txt | 18 +-
.../work_with_microtvm/sg_execution_times.rst.txt | 10 +-
.../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 +-
docs/_sources/install/from_source.rst.txt | 2 +-
.../reference/api/python/auto_scheduler.rst.txt | 1 -
docs/_sources/reference/api/python/topi.rst.txt | 2 -
.../reference/langref/relay_pattern.rst.txt | 2 +-
docs/_sources/topic/vta/dev/config.rst.txt | 1 -
docs/_sources/topic/vta/dev/hardware.rst.txt | 2 -
docs/_sources/topic/vta/dev/index.rst.txt | 2 +-
docs/_sources/topic/vta/install.rst.txt | 1 -
.../topic/vta/tutorials/autotvm/index.rst.txt | 1 -
.../tutorials/autotvm/sg_execution_times.rst.txt | 4 +-
.../frontend/deploy_classification.rst.txt | 2 +-
.../tutorials/frontend/deploy_detection.rst.txt | 2 +-
.../tutorials/frontend/sg_execution_times.rst.txt | 6 +-
docs/_sources/topic/vta/tutorials/index.rst.txt | 1 -
.../tutorials/optimize/sg_execution_times.rst.txt | 6 +-
.../topic/vta/tutorials/sg_execution_times.rst.txt | 6 +-
.../tutorial/auto_scheduler_matmul_x86.rst.txt | 11 +-
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/index.rst.txt | 2 +-
docs/_sources/tutorial/intro_topi.rst.txt | 2 +-
docs/_sources/tutorial/sg_execution_times.rst.txt | 24 +-
.../tutorial/tensor_expr_get_started.rst.txt | 44 +-
docs/_sources/tutorial/tvmc_python.rst.txt | 2 +-
docs/_static/img/README | 2 +-
docs/commit_hash | 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 | 8 +-
docs/how_to/compile_models/from_tensorflow.html | 2 +-
docs/how_to/compile_models/sg_execution_times.html | 26 +-
.../deploy_models/deploy_model_on_android.html | 2 +-
.../deploy_object_detection_pytorch.html | 36 +-
docs/how_to/deploy_models/deploy_prequantized.html | 8 +-
.../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 | 35 +-
docs/how_to/deploy_models/sg_execution_times.html | 22 +-
.../extend_tvm/bring_your_own_datatypes.html | 2 +-
docs/how_to/extend_tvm/sg_execution_times.html | 8 +-
docs/how_to/extend_tvm/use_pass_instrument.html | 16 +-
docs/how_to/optimize_operators/opt_conv_cuda.html | 2 +-
.../optimize_operators/opt_conv_tensorcore.html | 2 +-
docs/how_to/optimize_operators/opt_gemm.html | 16 +-
.../optimize_operators/sg_execution_times.html | 8 +-
.../sg_execution_times.html | 14 +-
.../tune_conv2d_layer_cuda.html | 1126 ++++++++------------
.../tune_with_autoscheduler/tune_network_cuda.html | 4 +-
.../tune_with_autoscheduler/tune_network_x86.html | 4 +-
.../tune_with_autoscheduler/tune_sparse_x86.html | 22 +-
.../tune_with_autotvm/sg_execution_times.html | 4 +-
.../how_to/tune_with_autotvm/tune_conv2d_cuda.html | 100 +-
docs/how_to/work_with_microtvm/micro_autotune.html | 16 +-
docs/how_to/work_with_microtvm/micro_train.html | 16 +-
.../work_with_microtvm/sg_execution_times.html | 10 +-
.../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/reference/api/doxygen/metadata_8h_source.html | 2 +-
docs/reference/api/doxygen/ndarray_8h_source.html | 30 +-
.../api/doxygen/packed__func_8h_source.html | 8 +-
docs/reference/api/python/auto_scheduler.html | 4 +-
.../api/typedoc/classes/bytestreamreader.html | 12 +-
.../api/typedoc/classes/cachedcallstack.html | 34 +-
docs/reference/api/typedoc/classes/dldatatype.html | 12 +-
docs/reference/api/typedoc/classes/dldevice.html | 10 +-
.../reference/api/typedoc/classes/environment.html | 12 +-
docs/reference/api/typedoc/classes/ffilibrary.html | 20 +-
.../api/typedoc/classes/graphexecutor.html | 16 +-
docs/reference/api/typedoc/classes/instance.html | 40 +-
docs/reference/api/typedoc/classes/memory.html | 34 +-
docs/reference/api/typedoc/classes/module.html | 10 +-
docs/reference/api/typedoc/classes/ndarray.html | 22 +-
.../api/typedoc/classes/packedfunccell.html | 6 +-
docs/reference/api/typedoc/classes/rpcserver.html | 14 +-
docs/reference/api/typedoc/classes/scalar.html | 6 +-
.../api/typedoc/classes/webgpucontext.html | 12 +-
docs/reference/api/typedoc/enums/argtypecode.html | 30 +-
.../api/typedoc/enums/aynccallbackcode.html | 4 +-
.../api/typedoc/enums/dldatatypecode.html | 8 +-
.../api/typedoc/enums/rpcserverstate.html | 12 +-
docs/reference/api/typedoc/enums/sizeof.html | 18 +-
docs/reference/api/typedoc/index.html | 112 +-
.../api/typedoc/interfaces/disposable.html | 2 +-
.../api/typedoc/interfaces/functioninfo.html | 6 +-
.../api/typedoc/interfaces/libraryprovider.html | 4 +-
docs/searchindex.js | 2 +-
.../vta/tutorials/autotvm/sg_execution_times.html | 4 +-
.../tutorials/frontend/deploy_classification.html | 2 +-
.../vta/tutorials/frontend/deploy_detection.html | 2 +-
.../vta/tutorials/frontend/sg_execution_times.html | 6 +-
.../vta/tutorials/optimize/sg_execution_times.html | 6 +-
docs/topic/vta/tutorials/sg_execution_times.html | 6 +-
docs/tutorial/auto_scheduler_matmul_x86.html | 7 +-
docs/tutorial/autotvm_matmul_x86.html | 20 +-
docs/tutorial/autotvm_relay_x86.html | 272 ++---
docs/tutorial/cross_compilation_and_rpc.html | 2 +-
docs/tutorial/index.html | 2 +-
docs/tutorial/intro_topi.html | 2 +-
docs/tutorial/sg_execution_times.html | 30 +-
docs/tutorial/tensor_expr_get_started.html | 44 +-
159 files changed, 1914 insertions(+), 2512 deletions(-)
diff --git a/docs/_downloads/10724e9ad9c29faa223c1d5eab6dbef9/tvmc_python.py b/docs/_downloads/10724e9ad9c29faa223c1d5eab6dbef9/tvmc_python.py
index 9658036a2c..0cd4f8ed9b 100644
--- a/docs/_downloads/10724e9ad9c29faa223c1d5eab6dbef9/tvmc_python.py
+++ b/docs/_downloads/10724e9ad9c29faa223c1d5eab6dbef9/tvmc_python.py
@@ -20,7 +20,7 @@ Getting Starting using TVMC Python: a high-level API for TVM
**Author**:
`Jocelyn Shiue <https://github.com/CircleSpin>`_
-Hi! Here we explain the scripting tool designed for the complete TVM beginner. π
+Hi! Here we explain the scripting tool designed for the complete TVM beginner. π
Before we get started let's get an example model if you don't already have one.
Follow the steps to download a resnet model via the terminal:
diff --git a/docs/_downloads/8d55b8f991fb704002f768367ce2d1a2/tvmc_python.ipynb b/docs/_downloads/8d55b8f991fb704002f768367ce2d1a2/tvmc_python.ipynb
index 2a388175a6..0c0f94700e 100644
--- a/docs/_downloads/8d55b8f991fb704002f768367ce2d1a2/tvmc_python.ipynb
+++ b/docs/_downloads/8d55b8f991fb704002f768367ce2d1a2/tvmc_python.ipynb
@@ -15,7 +15,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n# Getting Starting using TVMC Python: a high-level API for TVM\n**Author**:\n[Jocelyn Shiue](https://github.com/CircleSpin)\n\nHi! Here we explain the scripting tool designed for the complete TVM beginner. \ud83d\ude42 \n\nBefore we get started let's get an example model if you don't already have one.\nFollow the steps to download a resnet model via the terminal:\n\n```python\n [...]
+ "\n# Getting Starting using TVMC Python: a high-level API for TVM\n**Author**:\n[Jocelyn Shiue](https://github.com/CircleSpin)\n\nHi! Here we explain the scripting tool designed for the complete TVM beginner. \ud83d\ude42\n\nBefore we get started let's get an example model if you don't already have one.\nFollow the steps to download a resnet model via the terminal:\n\n```python\nmkdir myscripts\ncd myscripts\nwget https://github.com/onnx/models/raw/b9a54e89508f101a1611cd64f4ef56b [...]
]
},
{
diff --git a/docs/_downloads/ad2a7f55d615d188ad664d56696815a6/tune_network_x86.ipynb b/docs/_downloads/ad2a7f55d615d188ad664d56696815a6/tune_network_x86.ipynb
index eb5fdb84bc..4edbb9b5a0 100644
--- a/docs/_downloads/ad2a7f55d615d188ad664d56696815a6/tune_network_x86.ipynb
+++ b/docs/_downloads/ad2a7f55d615d188ad664d56696815a6/tune_network_x86.ipynb
@@ -15,7 +15,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n# Auto-scheduling a Neural Network for x86 CPU\n**Author**: [Lianmin Zheng](https://github.com/merrymercy), [Chengfan Jia](https://github.com/jcf94/)\n\nAuto-tuning for specific devices and workloads is critical for getting the\nbest performance. This is a tutorial on how to tune a whole neural\nnetwork for x86 CPU with the auto-scheduler.\n\nTo auto-tune a neural network, we partition the network into small subgraphs and \ntune them independently. Each subgraph is [...]
+ "\n# Auto-scheduling a Neural Network for x86 CPU\n**Author**: [Lianmin Zheng](https://github.com/merrymercy), [Chengfan Jia](https://github.com/jcf94/)\n\nAuto-tuning for specific devices and workloads is critical for getting the\nbest performance. This is a tutorial on how to tune a whole neural\nnetwork for x86 CPU with the auto-scheduler.\n\nTo auto-tune a neural network, we partition the network into small subgraphs and\ntune them independently. Each subgraph is [...]
]
},
{
diff --git a/docs/_downloads/af264436d049e3cd84803b67b6620b63/tune_network_cuda.ipynb b/docs/_downloads/af264436d049e3cd84803b67b6620b63/tune_network_cuda.ipynb
index 44015c6305..a4f4910f98 100644
--- a/docs/_downloads/af264436d049e3cd84803b67b6620b63/tune_network_cuda.ipynb
+++ b/docs/_downloads/af264436d049e3cd84803b67b6620b63/tune_network_cuda.ipynb
@@ -15,7 +15,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n# Auto-scheduling a Neural Network for NVIDIA GPU\n**Author**: [Lianmin Zheng](https://github.com/merrymercy)\n\nAuto-tuning for specific devices and workloads is critical for getting the\nbest performance. This is a tutorial on how to tune a whole neural\nnetwork for NVIDIA GPU with the auto-scheduler.\n\nTo auto-tune a neural network, we partition the network into small subgraphs and \ntune them independently. Each subgraph is treated as one search task.\nA task scheduler sl [...]
+ "\n# Auto-scheduling a Neural Network for NVIDIA GPU\n**Author**: [Lianmin Zheng](https://github.com/merrymercy)\n\nAuto-tuning for specific devices and workloads is critical for getting the\nbest performance. This is a tutorial on how to tune a whole neural\nnetwork for NVIDIA GPU with the auto-scheduler.\n\nTo auto-tune a neural network, we partition the network into small subgraphs and\ntune them independently. Each subgraph is treated as one search task.\nA task scheduler sli [...]
]
},
{
diff --git a/docs/_downloads/c00933f3fbcf90c4f584d54607b33805/micro_aot.ipynb b/docs/_downloads/c00933f3fbcf90c4f584d54607b33805/micro_aot.ipynb
index 8986dea662..197915d4ed 100644
--- a/docs/_downloads/c00933f3fbcf90c4f584d54607b33805/micro_aot.ipynb
+++ b/docs/_downloads/c00933f3fbcf90c4f584d54607b33805/micro_aot.ipynb
@@ -15,7 +15,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n\n# microTVM Host-Driven AoT\n**Authors**:\n[Mehrdad Hessar](https://github.com/mehrdadh),\n[Alan MacDonald](https://github.com/alanmacd)\n\nThis tutorial is showcasing microTVM host-driven AoT compilation with\na TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime \ncompared to GraphExecutor. Also, we can have better memory management using ahead \nof time compilation. This tutorial can be executed on a x86 CPU using C runtime (CRT)\nor on Zephyr platfo [...]
+ "\n\n# microTVM Host-Driven AoT\n**Authors**:\n[Mehrdad Hessar](https://github.com/mehrdadh),\n[Alan MacDonald](https://github.com/alanmacd)\n\nThis tutorial is showcasing microTVM host-driven AoT compilation with\na TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime\ncompared to GraphExecutor. Also, we can have better memory management using ahead\nof time compilation. This tutorial can be executed on a x86 CPU using C runtime (CRT)\nor on Zephyr platform [...]
]
},
{
diff --git a/docs/_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py b/docs/_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py
index 5a321104c8..f8caba075d 100644
--- a/docs/_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py
+++ b/docs/_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py
@@ -24,7 +24,7 @@ Auto-tuning for specific devices and workloads is critical for getting the
best performance. This is a tutorial on how to tune a whole neural
network for x86 CPU with the auto-scheduler.
-To auto-tune a neural network, we partition the network into small subgraphs and
+To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
diff --git a/docs/_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_cuda.py b/docs/_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_cuda.py
index cc29f27ba2..a430411fd9 100644
--- a/docs/_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_cuda.py
+++ b/docs/_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_cuda.py
@@ -23,7 +23,7 @@ Auto-tuning for specific devices and workloads is critical for getting the
best performance. This is a tutorial on how to tune a whole neural
network for NVIDIA GPU with the auto-scheduler.
-To auto-tune a neural network, we partition the network into small subgraphs and
+To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
diff --git a/docs/_downloads/f8a7209a0e66b246185bfc41bbc82f54/micro_aot.py b/docs/_downloads/f8a7209a0e66b246185bfc41bbc82f54/micro_aot.py
index 9bfe4c39a9..79a72924cc 100644
--- a/docs/_downloads/f8a7209a0e66b246185bfc41bbc82f54/micro_aot.py
+++ b/docs/_downloads/f8a7209a0e66b246185bfc41bbc82f54/micro_aot.py
@@ -24,8 +24,8 @@ microTVM Host-Driven AoT
`Alan MacDonald <https://github.com/alanmacd>`_
This tutorial is showcasing microTVM host-driven AoT compilation with
-a TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime
-compared to GraphExecutor. Also, we can have better memory management using ahead
+a TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime
+compared to GraphExecutor. Also, we can have better memory management using ahead
of time compilation. This tutorial can be executed on a x86 CPU using C runtime (CRT)
or on Zephyr platform on a microcontroller/board supported by Zephyr.
"""
diff --git a/docs/_images/sphx_glr_micro_train_001.png b/docs/_images/sphx_glr_micro_train_001.png
index aaa507d64d..9ba43750df 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 5ff98f857f..d025dae545 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/arch/hybrid_script.rst.txt b/docs/_sources/arch/hybrid_script.rst.txt
index 33a65f2683..a4fce342f7 100644
--- a/docs/_sources/arch/hybrid_script.rst.txt
+++ b/docs/_sources/arch/hybrid_script.rst.txt
@@ -96,5 +96,5 @@ except ``popcount`` and ``sigmoid``. I implemented them manually.
Casting
~~~~~~~
-You can cast values by using the keywords ``uint8``, ``uint16`` ``uint32``, ``uint64``, ``int8``, ``int16``, ``int32``, ``int64``,
+You can cast values by using the keywords ``uint8``, ``uint16`` ``uint32``, ``uint64``, ``int8``, ``int16``, ``int32``, ``int64``,
``float16``, ``float32``, ``float64``.
diff --git a/docs/_sources/contribute/release_process.rst.txt b/docs/_sources/contribute/release_process.rst.txt
index 129d65fc90..4b5c45fc84 100644
--- a/docs/_sources/contribute/release_process.rst.txt
+++ b/docs/_sources/contribute/release_process.rst.txt
@@ -57,7 +57,7 @@ It is recommended to open a Github issue to collect feedbacks for the release no
Prepare the Release Candidate
-----------------------------
-There may be some code changes necessary to the release branch before the release. Ensure all version numbers are up to date
+There may be some code changes necessary to the release branch before the release. Ensure all version numbers are up to date
Prepare the GPG Key
@@ -145,12 +145,12 @@ Create GPG signature as well as the hash of the file,
shasum -a 512 apache-tvm-src-v0.6.0.rc0.tar.gz > apache-tvm-src-v0.6.0.rc0.tar.gz.sha512
-Update TVM Version on Main
+Update TVM Version on Main
--------------------------
-After cutting a release candidate, make sure to update the version numbers throughout `main`. For example if we are
-releasing `v0.10.0` we want to bump the version numbers throughout the codebase from `v0.10.dev0` to `v0.11.dev0`. An
-example of how to do this can be found here: `https://github.com/apache/tvm/pull/12190 <https://github.com/apache/tvm/pull/12190>`_.
+After cutting a release candidate, make sure to update the version numbers throughout `main`. For example if we are
+releasing `v0.10.0` we want to bump the version numbers throughout the codebase from `v0.10.dev0` to `v0.11.dev0`. An
+example of how to do this can be found here: `https://github.com/apache/tvm/pull/12190 <https://github.com/apache/tvm/pull/12190>`_.
Upload the Release Candidate
----------------------------
diff --git a/docs/_sources/dev/how_to/relay_add_op.rst.txt b/docs/_sources/dev/how_to/relay_add_op.rst.txt
index 2a8c771dc6..225c60071f 100644
--- a/docs/_sources/dev/how_to/relay_add_op.rst.txt
+++ b/docs/_sources/dev/how_to/relay_add_op.rst.txt
@@ -15,13 +15,13 @@
specific language governing permissions and limitations
under the License.
-.. _relay-add-op:
+.. _relay-add-op:
Adding an Operator to Relay
===========================
-In this document we will go over the steps needed to register a new TVM operator
-in Relay. We will be following this PR which adds a `cumulative product`_ operation as an example.
+In this document we will go over the steps needed to register a new TVM operator
+in Relay. We will be following this PR which adds a `cumulative product`_ operation as an example.
The PR itself builds upon another PR which adds a `cumulative sum`_ operation.
.. _cumulative product: https://github.com/apache/tvm/pull/7722
@@ -30,20 +30,20 @@ The PR itself builds upon another PR which adds a `cumulative sum`_ operation.
Registering a new operator requires a few steps:
1. Add an attribute node declaring fixed arguments which are known at compile time
-2. Write a type relation for your operation to integrate into Relay's type system.
-3. Use the ``RELAY_REGISTER_OP`` macro in C++ to register the operator's arity, type, and other hints for the compiler
-4. Write how the operator is computed
+2. Write a type relation for your operation to integrate into Relay's type system.
+3. Use the ``RELAY_REGISTER_OP`` macro in C++ to register the operator's arity, type, and other hints for the compiler
+4. Write how the operator is computed
5. Register the compute, schedule with the relay operator
6. Define a C++ function to produce a call node for the operator and registering a Python API hook for the function
7. Wrapping the above Python API hook in a neater interface
-8. Writing tests for the new relay operator
+8. Writing tests for the new relay operator
1. Defining an Attribute Node
-----------------------------
-Attributes are fixed arguments which are supposed to be known at compile time. The stride and dilation of a convolution
+Attributes are fixed arguments which are supposed to be known at compile time. The stride and dilation of a convolution
operator would be an appropriate example of fields which might belong in an attribute node for a convolution operator.
-Attributes should be defined in a file within the folder `include/tvm/relay/attrs/`_.
+Attributes should be defined in a file within the folder `include/tvm/relay/attrs/`_.
.. _include/tvm/relay/attrs/: https://github.com/apache/tvm/tree/main/include/tvm/relay/attrs
@@ -78,7 +78,7 @@ Ultimately we want to create an operator whose interface can be seen clearly in
A similiar interface exists for ``cumsum()``.
-Therefore, when defining our attributes in ``include/tvm/relay/attrs/transform.h`` we choose the axis,
+Therefore, when defining our attributes in ``include/tvm/relay/attrs/transform.h`` we choose the axis,
accumulation dtype, and exclusivity of the operation as appropriate fields for the struct.
.. code:: c++
@@ -104,13 +104,13 @@ expressivity and granularity in expressing types in Relay, operators
are typed using relations between input and output types. These relations
are represented as functions that take in a list of input types and
output types (any of these types may be incomplete) and return a list
-of input and output types that satisfies the relation. This includes shape
+of input and output types that satisfies the relation. This includes shape
information which can be determined statically at compile time. Essentially, a
relation for an operator can enforce all the necessary typing rules
(namely by inspecting the input types) in addition to computing the
output type.
-Type relation for the cumulative product and sum operators can be found in
+Type relation for the cumulative product and sum operators can be found in
``src/relay/op/tensor/transform.cc``:
.. code:: c++
@@ -182,13 +182,13 @@ Once again we add this to ``src/relay/op/tensor/transform.cc``:
.set_attr<TOpPattern>("TOpPattern", kOpaque);
In this case the ``TOpPattern`` is a hint to the compiler on the pattern of computation the operator does, which might be
-useful for fusing operators. ``kOpaque`` tells TVM to not bother trying to fuse this operator.
+useful for fusing operators. ``kOpaque`` tells TVM to not bother trying to fuse this operator.
4. Defining the Compute of the Operation
----------------------------------------
-While we've now defined the interface for our operations we still need to define
-how to perform the actual calculations for cumulative sum and product.
+While we've now defined the interface for our operations we still need to define
+how to perform the actual calculations for cumulative sum and product.
Writing this code is outside the scope of the tutorial. For now, we assume we
have a well tested implementation for the operation's compute. For more details
@@ -206,13 +206,13 @@ representation where tensor expressions and topi will lower into.
5. Hooking up Compute and Strategy with Relay
---------------------------------------------
-After you have implemented your compute function we now need to glue it to our
-relay operation. Within TVM this means not only defining the computation, but also the schedule
+After you have implemented your compute function we now need to glue it to our
+relay operation. Within TVM this means not only defining the computation, but also the schedule
for an operation. A strategy is a method which picks which computation and which schedule
to use. For example, for 2D convolutions we might recognize we are doing a depthwise convolution
-and dispatch to a more efficient computation and schedule as a result. In our case however we have
-no such need except for dispatching between our CPU and GPU implementations. In
-``python/tvm/relay/op/strategy/generic.py`` and ``python/tvm/relay/op/strategy/cuda.py`` we
+and dispatch to a more efficient computation and schedule as a result. In our case however we have
+no such need except for dispatching between our CPU and GPU implementations. In
+``python/tvm/relay/op/strategy/generic.py`` and ``python/tvm/relay/op/strategy/cuda.py`` we
add the following strategies:
.. code:: python
@@ -259,8 +259,8 @@ add the following strategies:
name="cumsum.cuda",
)
return strategy
-
-
+
+
@cumprod_strategy.register(["cuda", "gpu"])
def cumprod_strategy_cuda(attrs, inputs, out_type, target):
"""cumprod cuda strategy"""
@@ -271,7 +271,7 @@ add the following strategies:
name="cumprod.cuda",
)
return strategy
-
+
Where in each strategy we define the compute we wrote and the schedule to use within ``add_implementation()``.
We finally link the strategy and compute with the defined relay operator in ``python/tvm/relay/op/_transform.py``:
@@ -297,12 +297,12 @@ We finally link the strategy and compute with the defined relay operator in ``py
_reg.register_strategy("cumprod", strategy.cumprod_strategy)
_reg.register_shape_func("cumprod", False, elemwise_shape_func)
-The shape functions are used for determining output shape given a dynamically shaped tensor. In this
+The shape functions are used for determining output shape given a dynamically shaped tensor. In this
case we tell TVM the output shape will be the same as the input shape.
6. Creating a Relay Call Node and Exposing a Python Hook
--------------------------------------------------------
-We now have a working operation and now just need to properly call it
+We now have a working operation and now just need to properly call it
via a Relay Call Node. This step requires simply writing a function that takes
the arguments to the operator (as Relay expressions) and
returning a call node to the operator (i.e., the node that
@@ -314,7 +314,7 @@ are not supported, so it suffices to use ``Op::Get`` to fetch
the operator's information from the operator registry and pass in
the arguments to the call node, as below. In ``src/relay/op/tensor/transform.cc``:
-.. code:: c++
+.. code:: c++
Expr MakeCumsum(Expr data, Integer axis, DataType dtype, Bool exclusive) {
auto attrs = make_object<ScanopAttrs>();
@@ -346,7 +346,7 @@ in Python via ``relay.op._make.cumsum(...)`` and ``relay.op._make.cumsum(...)``.
It is generally the convention in Relay, that functions exported
through ``TVM_REGISTER_GLOBAL`` should be wrapped in a separate
-Python function rather than called directly in Python. For our
+Python function rather than called directly in Python. For our
operators we expose this cleaner interface in ``python/tvm/relay/op/transform.py``
.. code:: python
@@ -383,7 +383,7 @@ before producing the call node:
8. Writing Unit Tests!
----------------------
This is self explanatory! Some example unit tests can be found in
-`tests/python/relay/test_op_level3.py`_ for our cumulative sum
+`tests/python/relay/test_op_level3.py`_ for our cumulative sum
and product operators.
.. _tests/python/relay/test_op_level3.py: https://github.com/apache/tvm/blob/main/tests/python/relay/test_op_level3.py
diff --git a/docs/_sources/errors.rst.txt b/docs/_sources/errors.rst.txt
index 84ea555160..42ffc88c1b 100644
--- a/docs/_sources/errors.rst.txt
+++ b/docs/_sources/errors.rst.txt
@@ -69,4 +69,3 @@ pieces of information:
Without these details it is very difficult for the TVM developers to do very
much to help you.
-
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 62e9557edd..887c3fe342 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 9.696 seconds)
+ **Total running time of the script:** ( 1 minutes 11.961 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 98174860da..595ac3a7a0 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 966ms/step
+
1/1 [==============================] - ETA: 0s
1/1 [==============================] - 1s 964ms/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 4c84a1d4b3..e39200ecb8 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.zipc3581d88-e254-4902-8900-f0f7fc614982 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+ Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip382959be-de85-4029-af76-9e2b16190551 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 02b645453a..0e10eb8f40 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]
19%|#9 | 7.99M/41.5M [00:00<00:00, 58.3MB/s]
39%|###8 | 16.0M/41.5M [00:00<00:00, 68.5MB/s]
65%|######5 | 27.1M/41.5M [00:00<00:00, 87.9MB/s]
86%|########6 | 35.8M/41.5M [00:00<00:00, 64.8MB/s]
100%|##########| 41.5M/41.5M [00:00<00:00, 73.3MB/s]
+
0%| | 0.00/41.5M [00:00<?, ?B/s]
15%|#5 | 6.33M/41.5M [00:00<00:01, 33.9MB/s]
23%|##3 | 9.57M/41.5M [00:00<00:01, 27.8MB/s]
35%|###5 | 14.7M/41.5M [00:00<00:00, 36.4MB/s]
54%|#####3 | 22.3M/41.5M [00:00<00:00, 48.4MB/s]
66%|######5 | 27.3M/41.5M [00:00<00:00, 39.6MB/s]
77%|#######7 | 32.0M/41.5M [00:00<00:00, 41.0MB/s]
96%|#########6| 40.0M/41.5M [00:00<00:00, 50.6MB/s]
100%|##########| 41.5M/41.5M [00:00<00:00, 44.3MB/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 ad977235ad..0f6c68802f 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -94,7 +94,7 @@ Load a pretrained PyTorch model
.. code-block:: none
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-
0%| | 0.00/44.7M [00:00<?, ?B/s]
18%|#7 | 7.99M/44.7M [00:00<00:00, 53.6MB/s]
37%|###6 | 16.4M/44.7M [00:00<00:00, 69.9MB/s]
72%|#######2 | 32.2M/44.7M [00:00<00:00, 109MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 107MB/s]
+
0%| | 0.00/44.7M [00:00<?, ?B/s]
17%|#6 | 7.43M/44.7M [00:00<00:00, 77.9MB/s]
42%|####2 | 19.0M/44.7M [00:00<00:00, 103MB/s]
70%|####### | 31.3M/44.7M [00:00<00:00, 115MB/s]
100%|##########| 44.7M/44.7M [00:00<00:00, 119MB/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 92880c1e9d..676e790e54 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 10.973 seconds)
+ **Total running time of the script:** ( 1 minutes 9.310 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 720bffe8fa..002d7d54c8 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:42.655** total execution time for **how_to_compile_models** files:
+**05:41.305** total execution time for **how_to_compile_models** files:
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:10.973 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:11.961 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``) | 01:09.696 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:09.310 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:46.168 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``) | 00:46.099 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:31.856 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``) | 00:31.690 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:30.083 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``) | 00:29.817 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:26.194 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``) | 00:26.221 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:25.313 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``) | 00:24.965 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:22.012 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``) | 00:21.804 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:17.996 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``) | 00:17.049 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.362 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``) | 00:02.389 | 0.0 MB |
+-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy/arm_compute_lib.rst.txt b/docs/_sources/how_to/deploy/arm_compute_lib.rst.txt
index a7ec8b9501..31b815d05d 100644
--- a/docs/_sources/how_to/deploy/arm_compute_lib.rst.txt
+++ b/docs/_sources/how_to/deploy/arm_compute_lib.rst.txt
@@ -34,7 +34,7 @@ Before installing Arm Compute Library, it is important to know what architecture
to determine this is to use `lscpu` and look for the "Model name" of the CPU. You can then use this to
determine the architecture by looking online.
-TVM only supports a single version of ACL, currently this is v21.08, there are two recommended ways to build and install
+TVM only supports a single version of ACL, currently this is v21.08, there are two recommended ways to build and install
the required libraries:
* Use the script located at `docker/install/ubuntu_download_arm_compute_lib_binaries.sh`. You can use this
diff --git a/docs/_sources/how_to/deploy/index.rst.txt b/docs/_sources/how_to/deploy/index.rst.txt
index f28883446f..74bae0f923 100644
--- a/docs/_sources/how_to/deploy/index.rst.txt
+++ b/docs/_sources/how_to/deploy/index.rst.txt
@@ -36,7 +36,7 @@ Unlike traditional deep learning frameworks. TVM stack is divided into two major
- TVM runtime, which runs on the target devices.
In order to integrate the compiled module, we **do not** need to build entire
-TVM on the target device. You only need to build the TVM compiler stack on your
+TVM on the target device. You only need to build the TVM compiler stack on your
desktop and use that to cross-compile modules that are deployed on the target device.
We only need to use a light-weight runtime API that can be integrated into various platforms.
@@ -77,9 +77,9 @@ architecture to be able to run the cross compiled model.
Cross compile the TVM runtime for other architectures
-----------------------------------------------------
-In the example :ref:`above <build-tvm-runtime-on-target-device>` the runtime library was
-compiled on a Raspberry Pi. Producing the runtime library can be done much faster on
-hosts that have high performace processors with ample resources (such as laptops, workstation)
+In the example :ref:`above <build-tvm-runtime-on-target-device>` the runtime library was
+compiled on a Raspberry Pi. Producing the runtime library can be done much faster on
+hosts that have high performace processors with ample resources (such as laptops, workstation)
compared to a target devices such as a Raspberry Pi. In-order to cross compile the runtime the toolchain
for the target device must be installed. After installing the correct toolchain,
the main difference compared to compiling natively is to pass some additional command
@@ -105,7 +105,7 @@ cross-compile for aarch64
-DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
- -DMACHINE_NAME=aarch64-linux-gnu
+ -DMACHINE_NAME=aarch64-linux-gnu
make -j$(nproc) runtime
@@ -135,7 +135,7 @@ cross-compile for RISC-V
-DCMAKE_FIND_ROOT_PATH=/usr/riscv64-linux-gnu \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
- -DMACHINE_NAME=riscv64-linux-gnu
+ -DMACHINE_NAME=riscv64-linux-gnu
make -j$(nproc) runtime
@@ -147,7 +147,7 @@ The ``file`` command can be used to query the architecture of the produced runti
file libtvm_runtime.so
libtvm_runtime.so: ELF 64-bit LSB shared object, UCB RISC-V, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=e9ak845b3d7f2c126dab53632aea8e012d89477e, not stripped
-
+
Optimize and tune models for target devices
-------------------------------------------
diff --git a/docs/_sources/how_to/deploy/vitis_ai.rst.txt b/docs/_sources/how_to/deploy/vitis_ai.rst.txt
index 7e97ddce8a..8185822593 100644
--- a/docs/_sources/how_to/deploy/vitis_ai.rst.txt
+++ b/docs/_sources/how_to/deploy/vitis_ai.rst.txt
@@ -28,9 +28,9 @@ full potential of AI acceleration on Xilinx FPGA and ACAP.
The current Vitis AI flow inside TVM enables acceleration of Neural
Network model inference on edge and cloud with the `Zynq Ultrascale+
-MPSoc <https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html>`__,
-`Alveo <https://www.xilinx.com/products/boards-and-kits/alveo.html>`__
-and `Versal <https://www.xilinx.com/products/silicon-devices/acap/versal.html>`__ platforms.
+MPSoc <https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html>`__,
+`Alveo <https://www.xilinx.com/products/boards-and-kits/alveo.html>`__
+and `Versal <https://www.xilinx.com/products/silicon-devices/acap/versal.html>`__ platforms.
The identifiers for the supported edge and cloud Deep Learning Processor Units (DPU's) are:
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
@@ -43,7 +43,7 @@ The identifiers for the supported edge and cloud Deep Learning Processor Units (
| `Kria KV260 <https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit.html>`__ | DPUCZDX8G | DPUCZDX8G-kv260 |
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
| `VCK190 <https://www.xilinx.com/products/boards-and-kits/vck190.html>`__ | DPUCVDX8G | DPUCVDX8G |
-+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
++-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
| `VCK5000 <https://www.xilinx.com/products/boards-and-kits/vck5000.html>`__ | DPUCVDX8H | DPUCVDX8H |
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
| `U200 <https://www.xilinx.com/products/boards-and-kits/alveo/u200.html>`__ | DPUCADF8H | DPUCADF8H |
@@ -52,7 +52,7 @@ The identifiers for the supported edge and cloud Deep Learning Processor Units (
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
| `U50 <https://www.xilinx.com/products/boards-and-kits/alveo/u50.html>`__ | DPUCAHX8H / DPUCAHX8L | DPUCAHX8H-u50 / DPUCAHX8L |
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
-| `U280 <https://www.xilinx.com/products/boards-and-kits/alveo/u280.html>`__ | DPUCAHX8H / DPUCAHX8L | DPUCAHX8H-u280 / DPUCAHX8L |
+| `U280 <https://www.xilinx.com/products/boards-and-kits/alveo/u280.html>`__ | DPUCAHX8H / DPUCAHX8L | DPUCAHX8H-u280 / DPUCAHX8L |
+-----------------------------------------------------------------------------------------+-----------------------+----------------------------+
For more information about the DPU identifiers see following table:
@@ -66,23 +66,23 @@ For more information about the DPU identifiers see following table:
| | | | ZD: Zynq DDR | | R: RNN | | M: Mixed Precision | | C: Cost optimized |
+-------------------+-------------+--------------------------------+------------------------+------------------------+------------------------+
-On this page you will find information on how to `setup <#setup-instructions>`__ TVM with Vitis AI
-on different platforms (Zynq, Alveo, Versal) and on how to get started with `Compiling a Model <#compiling-a-model>`__
+On this page you will find information on how to `setup <#setup-instructions>`__ TVM with Vitis AI
+on different platforms (Zynq, Alveo, Versal) and on how to get started with `Compiling a Model <#compiling-a-model>`__
and executing on different platforms: `Inference <#inference>`__.
System Requirements
-------------------
-The `Vitis AI System Requirements page <https://github.com/Xilinx/Vitis-AI/blob/master/docs/learn/system_requirements.md>`__
-lists the system requirements for running docker containers as well as doing executing on Alveo cards.
-For edge devices (e.g. Zynq), deploying models requires a host machine for compiling models using the TVM with Vitis AI flow,
+The `Vitis AI System Requirements page <https://github.com/Xilinx/Vitis-AI/blob/master/docs/learn/system_requirements.md>`__
+lists the system requirements for running docker containers as well as doing executing on Alveo cards.
+For edge devices (e.g. Zynq), deploying models requires a host machine for compiling models using the TVM with Vitis AI flow,
and an edge device for running the compiled models. The host system requirements are the same as specified in the link above.
Setup instructions
------------------
-This section provide the instructions for setting up the TVM with Vitis AI flow for both cloud and edge.
-TVM with Vitis AI support is provided through a docker container. The provided scripts and Dockerfile
+This section provide the instructions for setting up the TVM with Vitis AI flow for both cloud and edge.
+TVM with Vitis AI support is provided through a docker container. The provided scripts and Dockerfile
compiles TVM and Vitis AI into a single image.
1. Clone TVM repo
@@ -91,7 +91,7 @@ compiles TVM and Vitis AI into a single image.
git clone --recursive https://github.com/apache/tvm.git
cd tvm
-
+
2. Build and start the TVM - Vitis AI docker container.
.. code:: bash
@@ -122,7 +122,7 @@ compiles TVM and Vitis AI into a single image.
pip3 install -e . --user
Inside this docker container you can now compile models for both cloud and edge targets.
-To run on cloud Alveo or Versal VCK5000 cards inside the docker container, please follow the
+To run on cloud Alveo or Versal VCK5000 cards inside the docker container, please follow the
`Alveo <#alveo-setup>`__ respectively `Versal VCK5000 <#versal-vck5000-setup>`__ setup instructions.
To setup your Zynq or Versal VCK190 evaluation board for inference, please follow
the `Zynq <#zynq-setup>`__ respectively `Versal VCK190 <#versal-vck190-setup>`__ instructions.
@@ -135,12 +135,12 @@ Check out following page for setup information: `Alveo Setup <https://github.com
After setup, you can select the right DPU inside the docker container in the following way:
.. code:: bash
-
+
cd /workspace
git clone --branch v1.4 --single-branch --recursive https://github.com/Xilinx/Vitis-AI.git
cd Vitis-AI/setup/alveo
source setup.sh [DPU-IDENTIFIER]
-
+
The DPU identifier for this can be found in the second column of the DPU Targets table at the top of this page.
Versal VCK5000 Setup
@@ -151,7 +151,7 @@ Check out following page for setup information: `VCK5000 Setup <https://github.c
After setup, you can select the right DPU inside the docker container in the following way:
.. code:: bash
-
+
cd /workspace
git clone --branch v1.4 --single-branch --recursive https://github.com/Xilinx/Vitis-AI.git
cd Vitis-AI/setup/vck5000
@@ -160,8 +160,8 @@ After setup, you can select the right DPU inside the docker container in the fol
Zynq Setup
~~~~~~~~~~
-For the Zynq target (DPUCZDX8G) the compilation stage will run inside the docker on a host machine.
-This doesn't require any specific setup except for building the TVM - Vitis AI docker. For executing the model,
+For the Zynq target (DPUCZDX8G) the compilation stage will run inside the docker on a host machine.
+This doesn't require any specific setup except for building the TVM - Vitis AI docker. For executing the model,
the Zynq board will first have to be set up and more information on that can be found here.
1. Download the Petalinux image for your target:
@@ -175,17 +175,17 @@ the Zynq board will first have to be set up and more information on that can be
6. Create 4GB of swap space on the board
.. code:: bash
-
+
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap defaults 0 0" > /etc/fstab
-
+
7. Install hdf5 dependency (will take between 30 min and 1 hour to finish)
-
+
.. code:: bash
-
+
cd /tmp && \
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz && \
tar -zxvf hdf5-1.10.7.tar.gz && \
@@ -194,25 +194,25 @@ the Zynq board will first have to be set up and more information on that can be
make -j$(nproc) && \
make install && \
cd /tmp && rm -rf hdf5-1.10.7*
-
+
8. Install Python dependencies
.. code:: bash
-
+
pip3 install Cython==0.29.23 h5py==2.10.0 pillow
-9. Install PyXIR
+9. Install PyXIR
.. code:: bash
-
+
git clone --recursive --branch rel-v0.3.1 --single-branch https://github.com/Xilinx/pyxir.git
cd pyxir
sudo python3 setup.py install --use_vart_edge_dpu
-
+
10. Build and install TVM with Vitis AI
.. code:: bash
-
+
git clone --recursive https://github.com/apache/tvm
cd tvm
mkdir build
@@ -230,29 +230,29 @@ the Zynq board will first have to be set up and more information on that can be
.. code:: bash
python3 -c 'import pyxir; import tvm'
-
+
.. note::
You might see a warning about the 'cpu-tf' runtime not being found. This warning is
expected on the board and can be ignored.
-
-
+
+
Versal VCK190 Setup
~~~~~~~~~~~~~~~~~~~
For the Versal VCK190 setup, please follow the instructions for `Zynq Setup <#zynq-setup>`__,
but now use the `VCK190 image <https://www.xilinx.com/member/forms/download/design-license-xef.html?filename=xilinx-vck190-dpu-v2020.2-v1.4.0.img.gz>`__
in step 1. The other steps are the same.
-
+
Compiling a Model
-----------------
-The TVM with Vitis AI flow contains two stages: Compilation and Inference.
-During the compilation a user can choose a model to compile for the cloud or
-edge target devices that are currently supported. Once a model is compiled,
-the generated files can be used to run the model on a the specified target
-device during the `Inference <#inference>`__ stage. Currently, the TVM with
+The TVM with Vitis AI flow contains two stages: Compilation and Inference.
+During the compilation a user can choose a model to compile for the cloud or
+edge target devices that are currently supported. Once a model is compiled,
+the generated files can be used to run the model on a the specified target
+device during the `Inference <#inference>`__ stage. Currently, the TVM with
Vitis AI flow supported a selected number of Xilinx data center and edge devices.
In this section we walk through the typical flow for compiling models with Vitis AI
@@ -272,16 +272,16 @@ Make sure to import PyXIR and the DPU target (``import pyxir.contrib.target.DPUC
from tvm.contrib.target import vitis_ai
from tvm.contrib import utils, graph_executor
from tvm.relay.op.contrib.vitis_ai import partition_for_vitis_ai
-
+
**Declare the Target**
.. code:: python
tvm_target = 'llvm'
dpu_target = 'DPUCADF8H' # options: 'DPUCADF8H', 'DPUCAHX8H-u50', 'DPUCAHX8H-u280', 'DPUCAHX8L', 'DPUCVDX8H', 'DPUCZDX8G-zcu104', 'DPUCZDX8G-zcu102', 'DPUCZDX8G-kv260'
-
-The TVM with Vitis AI flow currently supports the DPU targets listed in
-the table at the top of this page. Once the appropriate targets are defined,
+
+The TVM with Vitis AI flow currently supports the DPU targets listed in
+the table at the top of this page. Once the appropriate targets are defined,
we invoke the TVM compiler to build the graph for the specified target.
**Import the Model**
@@ -291,9 +291,9 @@ Example code to import an MXNet model:
.. code:: python
mod, params = relay.frontend.from_mxnet(block, input_shape)
-
-**Partition the Model**
+
+**Partition the Model**
After importing the model, we utilize the Relay API to annotate the Relay expression for the provided DPU target and partition the graph.
@@ -302,7 +302,7 @@ After importing the model, we utilize the Relay API to annotate the Relay expres
mod = partition_for_vitis_ai(mod, params, dpu=dpu_target)
-**Build the Model**
+**Build the Model**
The partitioned model is passed to the TVM compiler to generate the runtime libraries for the TVM Runtime.
@@ -330,7 +330,7 @@ inference will be accelerated for all next inputs. Note that the edge
flow deviates slightly from the explained flow in that inference won't
be accelerated after the first N inputs but the model will have been
quantized and compiled and can be moved to the edge device for
-deployment. Please check out the `Running on Zynq <#running-on-zynq>`__
+deployment. Please check out the `Running on Zynq <#running-on-zynq>`__
section below for more information.
.. code:: python
@@ -344,30 +344,30 @@ section below for more information.
module.set_input(input_name, inputs[i])
module.run()
-By default, the number of images used for quantization is set to 128.
-You could change the number of images used for On-The-Fly Quantization
-with the PX_QUANT_SIZE environment variable. For example, execute the
-following line in the terminal before calling the compilation script
-to reduce the quantization calibration dataset to eight images.
+By default, the number of images used for quantization is set to 128.
+You could change the number of images used for On-The-Fly Quantization
+with the PX_QUANT_SIZE environment variable. For example, execute the
+following line in the terminal before calling the compilation script
+to reduce the quantization calibration dataset to eight images.
This can be used for quick testing.
.. code:: bash
export PX_QUANT_SIZE=8
-
-Lastly, we store the compiled output from the TVM compiler on disk for
-running the model on the target device. This happens as follows for
+
+Lastly, we store the compiled output from the TVM compiler on disk for
+running the model on the target device. This happens as follows for
cloud DPU's (Alveo, VCK5000):
.. code:: python
lib_path = "deploy_lib.so"
lib.export_library(lib_path)
-
-
-For edge targets (Zynq, VCK190) we have to rebuild for aarch64. To do this
-we first have to normally export the module to also serialize the Vitis AI
-runtime module (vitis_ai.rtmod). We will load this runtime module again
+
+
+For edge targets (Zynq, VCK190) we have to rebuild for aarch64. To do this
+we first have to normally export the module to also serialize the Vitis AI
+runtime module (vitis_ai.rtmod). We will load this runtime module again
afterwards to rebuild and export for aarch64.
.. code:: python
@@ -397,20 +397,20 @@ For instructions on how to run a compiled model please refer to the next section
Inference
---------
-The TVM with Vitis AI flow contains two stages: Compilation and Inference.
-During the compilation a user can choose to compile a model for any of the
-target devices that are currently supported. Once a model is compiled, the
-generated files can be used to run the model on a target device during the
+The TVM with Vitis AI flow contains two stages: Compilation and Inference.
+During the compilation a user can choose to compile a model for any of the
+target devices that are currently supported. Once a model is compiled, the
+generated files can be used to run the model on a target device during the
Inference stage.
Check out the `Running on Alveo and VCK5000 <#running-on-alveo-and-vck5000>`__
-and `Running on Zynq and VCK190 <#running-on-zynq-and-vck190>`__ sections for
+and `Running on Zynq and VCK190 <#running-on-zynq-and-vck190>`__ sections for
doing inference on cloud accelerator cards respectively edge boards.
Running on Alveo and VCK5000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-After having followed the steps in the `Compiling a Model <#compiling-a-model>`__
+After having followed the steps in the `Compiling a Model <#compiling-a-model>`__
section, you can continue running on new inputs inside the docker for accelerated
inference:
@@ -418,8 +418,8 @@ inference:
module.set_input(input_name, inputs[i])
module.run()
-
-Alternatively, you can load the exported runtime module (the deploy_lib.so
+
+Alternatively, you can load the exported runtime module (the deploy_lib.so
exported in `Compiling a Model <#compiling-a-model>`__):
.. code:: python
@@ -429,7 +429,7 @@ exported in `Compiling a Model <#compiling-a-model>`__):
from tvm.contrib import graph_executor
dev = tvm.cpu()
-
+
# input_name = ...
# input_data = ...
@@ -439,21 +439,21 @@ exported in `Compiling a Model <#compiling-a-model>`__):
module = graph_executor.GraphModule(lib["default"](dev))
module.set_input(input_name, input_data)
module.run()
-
+
Running on Zynq and VCK190
~~~~~~~~~~~~~~~~~~~~~~~~~~
-Before proceeding, please follow the `Zynq <#zynq-setup>`__ or
+Before proceeding, please follow the `Zynq <#zynq-setup>`__ or
`Versal VCK190 <#versal-vck190-setup>`__ setup instructions.
-Prior to running a model on the board, you need to compile the model for
-your target evaluation board and transfer the compiled model on to the board.
-Please refer to the `Compiling a Model <#compiling-a-model>`__ section for
+Prior to running a model on the board, you need to compile the model for
+your target evaluation board and transfer the compiled model on to the board.
+Please refer to the `Compiling a Model <#compiling-a-model>`__ section for
information on how to compile a model.
-Afterwards, you will have to transfer the compiled model (deploy_lib_edge.so)
+Afterwards, you will have to transfer the compiled model (deploy_lib_edge.so)
to the evaluation board. Then, on the board you can use the typical
-"load_module" and "module.run" APIs to execute. For this, please make sure to
+"load_module" and "module.run" APIs to execute. For this, please make sure to
run the script as root (execute ``su`` in terminal to log into root).
.. note::
@@ -468,7 +468,7 @@ run the script as root (execute ``su`` in terminal to log into root).
from tvm.contrib import graph_executor
dev = tvm.cpu()
-
+
# input_name = ...
# input_data = ...
@@ -478,5 +478,3 @@ run the script as root (execute ``su`` in terminal to log into root).
module = graph_executor.GraphModule(lib["default"](dev))
module.set_input(input_name, input_data)
module.run()
-
-
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 7c89fcd268..1acf4071b6 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
@@ -434,7 +434,7 @@ Execute on TVM
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 16.8526 17.0162 17.3421 16.2236 0.3767
+ 15.8181 15.8187 16.2314 15.5181 0.1952
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 c7a4a9142d..26d3500be1 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
@@ -123,7 +123,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
.. code-block:: none
Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
0%| | 0.00/170M [00:00<?, ?B/s]
6%|6 | 11.0M/170M [00:00<00:01, 115MB/s]
13%|#3 | 22.2M/170M [00:00<00:01, 116MB/s]
20%|#9 | 33.2M/170M [00:00<00:01, 107MB/s]
26%|##5 | 43.6M/170M [00:00<00:01, 105MB/s]
32%|###1 | 53.6M/170M [00:00<00:01, 104MB/s]
37%|###7 | 63.5M/170M [00:00<00:01, 102MB/s]
43%|####3 | 73.3M/170M [00:00<00:00, 101MB/s]
49%|####8 | 83.0M/170M [00:00<00:00, 101MB/s]
55%|#####4 | 92.6M/170M [00:00<00:00, 101MB/s]
60%|###### | 102M/170M [00:01<00:00, 100MB/s]
66%|######5 | 112M/170M [00:01<00:00, 101MB/s]
72%|#######1 | 121M/170M [00:01<00:00, 95.9MB/s]
78%|#######7 | 132M/170M [00:01<00:00, 101MB/s]
84%|########3 | 142M/170M [00:01<00:00, 101MB/s]
89%|########9 | 152M/170M [00:01<00:00, 101MB/s]
95%|#########5| 161M/170M [00:01<00:00, 74.5MB/s]
100%|##########| 170M/170M [00:01<00:00, 97.4MB/s]
+
0%| | 0.00/170M [00:00<?, ?B/s]
8%|7 | 13.2M/170M [00:00<00:01, 137MB/s]
15%|#5 | 26.2M/170M [00:00<00:01, 111MB/s]
22%|##1 | 37.1M/170M [00:00<00:01, 108MB/s]
28%|##7 | 47.5M/170M [00:00<00:01, 105MB/s]
34%|###3 | 57.6M/170M [00:00<00:01, 103MB/s]
40%|###9 | 67.5M/170M [00:00<00:01, 102MB/s]
45%|####5 | 77.2M/170M [00:00<00:00, 101MB/s]
51%|#####1 | 86.9M/170M [00:00<00:00, 101MB/s]
57%|#####6 | 96.6M/170M [00:01<00:00, 92.0MB/s]
64%|######4 | 109M/170M [00:01<00:00, 103MB/s]
70%|####### | 119M/170M [00:01<00:00, 102MB/s]
76%|#######5 | 129M/170M [00:01<00:00, 101MB/s]
82%|########1 | 139M/170M [00:01<00:00, 101MB/s]
87%|########7 | 148M/170M [00:01<00:00, 101MB/s]
93%|#########3| 158M/170M [00:01<00:00, 101MB/s]
99%|#########8| 168M/170M [00:01<00:00, 100MB/s]
100%|##########| 170M/170M [00:01<00:00, 102MB/s]
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
for i in range(dim)
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -292,7 +292,7 @@ Get boxes with score larger than 0.9
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 3 minutes 14.938 seconds)
+ **Total running time of the script:** ( 3 minutes 9.286 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 d653dcdccd..cd4bf33aed 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -232,7 +232,7 @@ training. Other models require a full post training calibration.
.. code-block:: none
Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
0%| | 0.00/13.6M [00:00<?, ?B/s]
59%|#####8 | 7.99M/13.6M [00:00<00:00, 59.2MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 72.2MB/s]
+
0%| | 0.00/13.6M [00:00<?, ?B/s]
59%|#####8 | 7.99M/13.6M [00:00<00:00, 71.4MB/s]
100%|##########| 13.6M/13.6M [00:00<00:00, 86.0MB/s]
@@ -414,7 +414,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.3947 90.3141 93.4234 90.1591 0.3559
+ 90.4957 90.3978 92.0434 90.1333 0.3429
@@ -463,7 +463,7 @@ TODO
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 21.167 seconds)
+ **Total running time of the script:** ( 1 minutes 18.844 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 ee19899025..dd2b4cbdf4 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.3146 120.2682 124.3444 118.8180 0.6116
+ 119.7742 119.6781 127.4953 118.8245 1.0076
@@ -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 27.136 seconds)
+ **Total running time of the script:** ( 2 minutes 27.230 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 0a877776ad..1971bd3b49 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 11.890 seconds)
+ **Total running time of the script:** ( 1 minutes 28.885 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 b17d1c90cd..7f89590bee 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]
3%|2 | 3717/132723 [00:00<00:03, 37165.43KB/s]
7%|6 | 9230/132723 [00:00<00:02, 47727.70KB/s]
12%|#1 | 15683/132723 [00:00<00:02, 55396.68KB/s]
18%|#8 | 24235/132723 [00:00<00:01, 67287.05KB/s]
25%|##4 | 32692/132723 [00:00<00:01, 73517.48KB/s]
31%|###1 | 41229/132723 [00:00<00:01, 77545.27KB/s]
38%|###7 | 49807/132723 [00:00<00:01, 80230.84KB/s]
44%|####3 | 58382/132723 [00:00<00:00, 81985.07KB/s]
50%|##### | 66856/132723 [00:00<00:00, 82843.05KB/s]
57%|#####6 | 75439/132723 [00:01<00:00, 83762.35KB/s]
63%|######3 | 83999/132723 [00:01<00:00, 84319.82KB/s]
70%|######9 | 92607/132723 [00:01<00:00, 84849.97KB/s]
76%|#######6 | 101197/132723 [00:01<00:00, 85166.63KB/s]
83%|########2 | 109763/132723 [00:01<00:00, 85313.02KB/s]
89%|########9 | 118387/132723 [00:01<00:00, 85590.05KB/s]
96%|#########
5| 126988/132723 [00:01<00:00, 85714.50KB/s]
100%|##########| 132723/132723 [00:01<00:00, 79507.91KB/s]
+
0%| | 0/132723 [00:00<?, ?KB/s]
5%|4 | 6202/132723 [00:00<00:02, 62015.62KB/s]
11%|#1 | 15113/132723 [00:00<00:01, 77946.30KB/s]
18%|#8 | 24012/132723 [00:00<00:01, 82986.72KB/s]
25%|##4 | 32846/132723 [00:00<00:01, 85092.69KB/s]
31%|###1 | 41778/132723 [00:00<00:01, 86614.30KB/s]
38%|###8 | 50686/132723 [00:00<00:00, 87448.42KB/s]
45%|####4 | 59583/132723 [00:00<00:00, 87943.31KB/s]
52%|#####1 | 68529/132723 [00:00<00:00, 88422.92KB/s]
58%|#####8 | 77473/132723 [00:00<00:00, 88737.11KB/s]
65%|######5 | 86401/132723 [00:01<00:00, 88902.10KB/s]
72%|#######1 | 95330/132723 [00:01<00:00, 89018.82KB/s]
79%|#######8 | 104297/132723 [00:01<00:00, 89212.79KB/s]
85%|########5 | 113236/132723 [00:01<00:00, 89263.14KB/s]
92%|#########2| 122163/132723 [00:01<00:00, 89259.71KB/s]
99%|#########8| 131089/132723 [00:01<00:00, 88899.02KB/s]
100%|#######
###| 132723/132723 [00:01<00:00, 87211.97KB/s]
@@ -242,7 +242,7 @@ Display result
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 2 minutes 55.654 seconds)
+ **Total running time of the script:** ( 2 minutes 52.794 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 0b76d3c996..660977ae0a 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,24 +5,24 @@
Computation times
=================
-**12:37.385** total execution time for **how_to_deploy_models** files:
+**12:41.184** 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:14.938 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:09.286 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 02:55.654 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``) | 02:52.794 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:27.136 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``) | 02:27.230 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:21.167 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:28.885 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``) | 01:11.890 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``) | 01:18.844 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:36.200 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``) | 00:35.349 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:25.497 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``) | 00:24.657 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:24.897 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``) | 00:24.133 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``) | 00:00.006 | 0.0 MB |
+------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index 2ef3e7f42c..64c9f57325 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.zip6a9c69d2-25c8-4f82-bd6b-295c5fbd007c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+ Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip6f8185e0-037e-4c19-bf77-a9af19f00125 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 025dee660f..d1812a1138 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:46.817** total execution time for **how_to_extend_tvm** files:
+**00:45.944** 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:43.444 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:42.569 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.337 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``) | 00:02.363 | 0.0 MB |
+-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.027 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``) | 00:01.003 | 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 bf1adca410..6405885d5f 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: 7333us [7333us] (48.37%; 48.37%)
- FoldScaleAxis: 7826us [6us] (51.63%; 51.63%)
- FoldConstant: 7821us [1582us] (51.59%; 99.93%)
- InferType: 6239us [6239us] (41.16%; 79.78%)
+ InferType: 6781us [6781us] (46.57%; 46.57%)
+ FoldScaleAxis: 7779us [5us] (53.43%; 53.43%)
+ FoldConstant: 7773us [1587us] (53.39%; 99.93%)
+ InferType: 6187us [6187us] (42.49%; 79.59%)
@@ -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: 6307us [6307us] (44.40%; 44.40%)
- FoldScaleAxis: 7898us [5us] (55.60%; 55.60%)
- FoldConstant: 7893us [1648us] (55.57%; 99.94%)
- InferType: 6245us [6245us] (43.96%; 79.12%)
+ InferType: 6201us [6201us] (44.64%; 44.64%)
+ FoldScaleAxis: 7690us [5us] (55.36%; 55.36%)
+ FoldConstant: 7685us [1553us] (55.32%; 99.94%)
+ InferType: 6132us [6132us] (44.14%; 79.79%)
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 73b59c5cd5..baa570f177 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: 54.171745 ms
+ Convolution: 36.520385 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 e249e3ceb8..46b8b8950f 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
@@ -671,7 +671,7 @@ be able to run on our build server
.. code-block:: none
- conv2d with tensor core: 12.696893 ms
+ conv2d with tensor core: 13.341046 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 36bdef9e9b..6228c6c25c 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.019461
- Baseline: 3.407722
+ Numpy running time: 0.018108
+ Baseline: 3.530186
@@ -239,7 +239,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
.. code-block:: none
- Opt1: 0.296662
+ Opt1: 0.294269
@@ -342,7 +342,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
.. code-block:: none
- Opt2: 0.329947
+ Opt2: 0.331515
@@ -438,7 +438,7 @@ the access pattern for A matrix is more cache friendly.
.. code-block:: none
- Opt3: 0.117765
+ Opt3: 0.116358
@@ -563,7 +563,7 @@ flattening.
.. code-block:: none
- Opt4: 0.110355
+ Opt4: 0.110133
@@ -685,7 +685,7 @@ write to C when all the block results are ready.
.. code-block:: none
- Opt5: 0.111903
+ Opt5: 0.111374
@@ -810,7 +810,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
.. code-block:: none
- Opt6: 0.147836
+ Opt6: 0.147180
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 32ecc10475..801ea20296 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,12 +5,12 @@
Computation times
=================
-**00:35.085** total execution time for **how_to_optimize_operators** files:
+**00:34.862** total execution time for **how_to_optimize_operators** files:
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:32.430 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``) | 00:32.508 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.461 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.338 | 0.0 MB |
+-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.194 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``) | 00:01.016 | 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 28d92a49e5..42573ffb57 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:20.804** total execution time for **how_to_tune_with_autoscheduler** files:
+**08:26.997** 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``) | 04:53.952 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 05:05.259 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:33.331 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``) | 01:30.850 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:03.084 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``) | 01:02.014 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:28.086 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``) | 00:27.322 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:11.286 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``) | 00:10.930 | 0.0 MB |
+----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:11.064 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``) | 00:10.622 | 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 0a578b4dd9..a507cf424c 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
@@ -240,376 +240,246 @@ cooperative fetching, unrolling and operator fusion.
compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
- attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 8;
+ attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 16;
allocate(conv2d_nchw: Pointer(local float32), float32, [28]), storage_scope = local;
allocate(pad_temp.shared: Pointer(shared float32), float32, [648]), 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 {
- conv2d_nchw_1: Buffer(conv2d_nchw, float32, [196], [], scope="local", align=32)[0] = 0f32
- conv2d_nchw_1[14] = 0f32
- conv2d_nchw_1[1] = 0f32
- conv2d_nchw_1[15] = 0f32
- conv2d_nchw_1[2] = 0f32
- conv2d_nchw_1[16] = 0f32
- conv2d_nchw_1[3] = 0f32
- conv2d_nchw_1[17] = 0f32
+ allocate(kernel.shared: Pointer(shared float32), float32, [2304]), storage_scope = shared;
+ attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
+ conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope="local", align=16)[0] = 0f32
conv2d_nchw_1[4] = 0f32
- conv2d_nchw_1[18] = 0f32
- conv2d_nchw_1[5] = 0f32
- conv2d_nchw_1[19] = 0f32
- conv2d_nchw_1[6] = 0f32
- conv2d_nchw_1[20] = 0f32
- conv2d_nchw_1[7] = 0f32
- conv2d_nchw_1[21] = 0f32
conv2d_nchw_1[8] = 0f32
- conv2d_nchw_1[22] = 0f32
- conv2d_nchw_1[9] = 0f32
- conv2d_nchw_1[23] = 0f32
- conv2d_nchw_1[10] = 0f32
+ conv2d_nchw_1[12] = 0f32
+ conv2d_nchw_1[16] = 0f32
+ conv2d_nchw_1[20] = 0f32
conv2d_nchw_1[24] = 0f32
- conv2d_nchw_1[11] = 0f32
+ conv2d_nchw_1[1] = 0f32
+ conv2d_nchw_1[5] = 0f32
+ conv2d_nchw_1[9] = 0f32
+ conv2d_nchw_1[13] = 0f32
+ conv2d_nchw_1[17] = 0f32
+ conv2d_nchw_1[21] = 0f32
conv2d_nchw_1[25] = 0f32
- conv2d_nchw_1[12] = 0f32
+ conv2d_nchw_1[2] = 0f32
+ conv2d_nchw_1[6] = 0f32
+ conv2d_nchw_1[10] = 0f32
+ conv2d_nchw_1[14] = 0f32
+ conv2d_nchw_1[18] = 0f32
+ conv2d_nchw_1[22] = 0f32
conv2d_nchw_1[26] = 0f32
- conv2d_nchw_1[13] = 0f32
+ conv2d_nchw_1[3] = 0f32
+ conv2d_nchw_1[7] = 0f32
+ conv2d_nchw_1[11] = 0f32
+ conv2d_nchw_1[15] = 0f32
+ conv2d_nchw_1[19] = 0f32
+ conv2d_nchw_1[23] = 0f32
conv2d_nchw_1[27] = 0f32
for (rc.outer.outer: int32, 0, 64) {
- let cse_var_1: int32 = (rc.outer.outer*392)
+ let cse_var_1: int32 = (rc.outer.outer*72)
{
- attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], 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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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;
- if @tir.likely((threadIdx.x_1 < 88), dtype=bool) {
- 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[((((cse_var_1 + (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_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[(threadIdx.x_2*9)] = kernel[((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9))]
- kernel.shared_1[((threadIdx.x_2*9) + 1)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 1)]
- kernel.shared_1[((threadIdx.x_2*9) + 2)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 2)]
- kernel.shared_1[((threadIdx.x_2*9) + 3)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 3)]
- kernel.shared_1[((threadIdx.x_2*9) + 4)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 4)]
- kernel.shared_1[((threadIdx.x_2*9) + 5)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 5)]
- kernel.shared_1[((threadIdx.x_2*9) + 6)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 6)]
- kernel.shared_1[((threadIdx.x_2*9) + 7)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 7)]
- kernel.shared_1[((threadIdx.x_2*9) + 8)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 8)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 1008)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64512)]
- kernel.shared_1[((threadIdx.x_2*9) + 1009)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64513)]
- kernel.shared_1[((threadIdx.x_2*9) + 1010)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64514)]
- kernel.shared_1[((threadIdx.x_2*9) + 1011)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64515)]
- kernel.shared_1[((threadIdx.x_2*9) + 1012)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64516)]
- kernel.shared_1[((threadIdx.x_2*9) + 1013)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64517)]
- kernel.shared_1[((threadIdx.x_2*9) + 1014)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64518)]
- kernel.shared_1[((threadIdx.x_2*9) + 1015)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64519)]
- kernel.shared_1[((threadIdx.x_2*9) + 1016)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64520)]
+ attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], scope="shared")[(threadIdx.x_1*24)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod((threadIdx.x_1*24), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod((threadIdx.x_1*6), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 1)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod(((threadIdx.x_1*24) + 1), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 2)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod(((threadIdx.x_1*24) + 2), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 3)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 3), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 4)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 4), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 5)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 5), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 6)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 6), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 6), 9))) && (floormod(((threadIdx.x_1*6) + 6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 6), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 7)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 7), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 7), 9))) && (floormod(((threadIdx.x_1*6) + 7), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 7), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 8)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 8), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 8), 9))) && (floormod(((threadIdx.x_1*6) + 8), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 8), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 9)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 9), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod((threadIdx.x_1*6), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 10)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 10), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 11)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 11), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 12)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 12), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 13)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 13), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 14)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 14), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 15)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 15), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 6), 9))) && (floormod(((threadIdx.x_1*6) + 6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 6), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 16)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 16), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 7), 9))) && (floormod(((threadIdx.x_1*6) + 7), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 7), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 17)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 17), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 8), 9))) && (floormod(((threadIdx.x_1*6) + 8), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 8), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 18)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 18), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod((threadIdx.x_1*6), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 19)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 19), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 20)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 20), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 21)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 21), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 22)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 22), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 23)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 23), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f32, dtype=float32)
+ }
}
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 2016)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129024)]
- kernel.shared_1[((threadIdx.x_2*9) + 2017)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129025)]
- kernel.shared_1[((threadIdx.x_2*9) + 2018)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129026)]
- kernel.shared_1[((threadIdx.x_2*9) + 2019)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129027)]
- kernel.shared_1[((threadIdx.x_2*9) + 2020)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129028)]
- kernel.shared_1[((threadIdx.x_2*9) + 2021)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129029)]
- kernel.shared_1[((threadIdx.x_2*9) + 2022)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129030)]
- kernel.shared_1[((threadIdx.x_2*9) + 2023)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129031)]
- kernel.shared_1[((threadIdx.x_2*9) + 2024)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129032)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 3024)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193536)]
- kernel.shared_1[((threadIdx.x_2*9) + 3025)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193537)]
- kernel.shared_1[((threadIdx.x_2*9) + 3026)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193538)]
- kernel.shared_1[((threadIdx.x_2*9) + 3027)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193539)]
- kernel.shared_1[((threadIdx.x_2*9) + 3028)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193540)]
- kernel.shared_1[((threadIdx.x_2*9) + 3029)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193541)]
- kernel.shared_1[((threadIdx.x_2*9) + 3030)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193542)]
- kernel.shared_1[((threadIdx.x_2*9) + 3031)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193543)]
- kernel.shared_1[((threadIdx.x_2*9) + 3032)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193544)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_2 < 64), dtype=bool) {
- kernel.shared_1[((threadIdx.x_2*9) + 4032)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258048)]
- kernel.shared_1[((threadIdx.x_2*9) + 4033)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258049)]
- kernel.shared_1[((threadIdx.x_2*9) + 4034)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258050)]
- kernel.shared_1[((threadIdx.x_2*9) + 4035)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258051)]
- kernel.shared_1[((threadIdx.x_2*9) + 4036)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258052)]
- kernel.shared_1[((threadIdx.x_2*9) + 4037)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258053)]
- kernel.shared_1[((threadIdx.x_2*9) + 4038)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258054)]
- kernel.shared_1[((threadIdx.x_2*9) + 4039)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258055)]
- kernel.shared_1[((threadIdx.x_2*9) + 4040)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258056)]
+ attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1: Buffer(kernel.shared, float32, [2304], [], scope="shared")[threadIdx.x_2] = kernel[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 56), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 112), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 168), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 224), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 280), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 336), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 392), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 448), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 560), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 616), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 672), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 728), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 784), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 840), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 896), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 952), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1064), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1120), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1176), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1232), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1288), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1344), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1400), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1456), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1568), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1624)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1624), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1680), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1736)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1736), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1792), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1848)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1848), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1904), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1960)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1960), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2072)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2072), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2128), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2184)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2184), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2240), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ if @tir.likely((threadIdx.x_2 < 8), dtype=bool) {
+ kernel.shared_1[(threadIdx.x_2 + 2296)] = kernel[(((((blockIdx.x*147456) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3)) + 142848)]
}
for (rc.outer.inner: int32, 0, 8) {
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
+ for (rx.outer.inner: int32, 0, 3) {
+ for (ry.inner: int32, 0, 3) {
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ }
+ }
}
}
}
- for (i1.inner: int32, 0, 2) {
- for (i2.inner: int32, 0, 7) {
- let cse_var_2: int32 = ((i1.inner*7) + i2.inner)
- {
- compute[(((((blockIdx.x*3136) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[cse_var_2] + bias[(((blockIdx.x*64) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
- compute[((((((blockIdx.x*3136) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7)) + 1568)] = max((conv2d_nchw_1[(cse_var_2 + 14)] + bias[((((blockIdx.x*64) + (floordiv(threadIdx.x, 7)*2)) + i1.inner) + 32)]), 0f32)
- }
- }
+ for (i1.inner: int32, 0, 4) {
+ compute[((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 7)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 14)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 21)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 28)] = max((conv2d_nchw_1[(i1.inner + 16)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 35)] = max((conv2d_nchw_1[(i1.inner + 20)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 42)] = max((conv2d_nchw_1[(i1.inner + 24)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
}
}
}
@@ -664,7 +534,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 0.363 ms
+ Execution time of this operator: 0.347 ms
@@ -712,14 +582,14 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
- conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
+ conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=4)
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_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=2)
- conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
+ conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+ conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
+ conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
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_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=7)
conv2d_nchw_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)
@@ -728,18 +598,18 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
- conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
- conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+ 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_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
- compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=7)
+ compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=4)
+ compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+ compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
+ compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
- compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
+ compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=7)
compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
@@ -759,16 +629,16 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused = s[compute].fuse(compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i)
s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread_axis("threadIdx.x"))
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=9)
+ 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=56)
s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
- pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=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=24)
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=56)
s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
- s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 1024)
+ s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 64)
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
CUDA source code:
@@ -786,356 +656,200 @@ 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__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
float conv2d_nchw[28];
__shared__ float pad_temp_shared[648];
- __shared__ float kernel_shared[4608];
+ __shared__ float kernel_shared[2304];
conv2d_nchw[0] = 0.000000e+00f;
- conv2d_nchw[14] = 0.000000e+00f;
- conv2d_nchw[1] = 0.000000e+00f;
- conv2d_nchw[15] = 0.000000e+00f;
- conv2d_nchw[2] = 0.000000e+00f;
- conv2d_nchw[16] = 0.000000e+00f;
- conv2d_nchw[3] = 0.000000e+00f;
- conv2d_nchw[17] = 0.000000e+00f;
conv2d_nchw[4] = 0.000000e+00f;
- conv2d_nchw[18] = 0.000000e+00f;
- conv2d_nchw[5] = 0.000000e+00f;
- conv2d_nchw[19] = 0.000000e+00f;
- conv2d_nchw[6] = 0.000000e+00f;
- conv2d_nchw[20] = 0.000000e+00f;
- conv2d_nchw[7] = 0.000000e+00f;
- conv2d_nchw[21] = 0.000000e+00f;
conv2d_nchw[8] = 0.000000e+00f;
- conv2d_nchw[22] = 0.000000e+00f;
- conv2d_nchw[9] = 0.000000e+00f;
- conv2d_nchw[23] = 0.000000e+00f;
- conv2d_nchw[10] = 0.000000e+00f;
+ conv2d_nchw[12] = 0.000000e+00f;
+ conv2d_nchw[16] = 0.000000e+00f;
+ conv2d_nchw[20] = 0.000000e+00f;
conv2d_nchw[24] = 0.000000e+00f;
- conv2d_nchw[11] = 0.000000e+00f;
+ conv2d_nchw[1] = 0.000000e+00f;
+ conv2d_nchw[5] = 0.000000e+00f;
+ conv2d_nchw[9] = 0.000000e+00f;
+ conv2d_nchw[13] = 0.000000e+00f;
+ conv2d_nchw[17] = 0.000000e+00f;
+ conv2d_nchw[21] = 0.000000e+00f;
conv2d_nchw[25] = 0.000000e+00f;
- conv2d_nchw[12] = 0.000000e+00f;
+ conv2d_nchw[2] = 0.000000e+00f;
+ conv2d_nchw[6] = 0.000000e+00f;
+ conv2d_nchw[10] = 0.000000e+00f;
+ conv2d_nchw[14] = 0.000000e+00f;
+ conv2d_nchw[18] = 0.000000e+00f;
+ conv2d_nchw[22] = 0.000000e+00f;
conv2d_nchw[26] = 0.000000e+00f;
- conv2d_nchw[13] = 0.000000e+00f;
+ conv2d_nchw[3] = 0.000000e+00f;
+ conv2d_nchw[7] = 0.000000e+00f;
+ conv2d_nchw[11] = 0.000000e+00f;
+ conv2d_nchw[15] = 0.000000e+00f;
+ conv2d_nchw[19] = 0.000000e+00f;
+ conv2d_nchw[23] = 0.000000e+00f;
conv2d_nchw[27] = 0.000000e+00f;
for (int rc_outer_outer = 0; rc_outer_outer < 64; ++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 * 392) + ((((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 * 392) + (((((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 * 392) + (((((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 * 392) + (((((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 * 392) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
- if (((int)threadIdx.x) < 88) {
- 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 * 392) + (((((int)threadIdx.x) + 560) / 81) * 49)) + ((((((int)threadIdx.x) + 74) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[(((int)threadIdx.x) * 24)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && (((((int)threadIdx.x) * 24) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 1)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && ((((((int)threadIdx.x) * 24) + 1) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 2)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && ((((((int)threadIdx.x) * 24) + 2) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 3)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 3) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 4)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 4) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 5)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 5) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 6)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 6) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 6) % 9))) && ((((((int)threadIdx.x) * 6) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 7)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 7) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 7) % 9))) && ((((((int)threadIdx.x) * 6) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 7) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 8)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 8) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 8) % 9))) && ((((((int)threadIdx.x) * 6) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 8) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 9)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 9) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 10)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 10) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 11)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 11) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 12)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 12) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
}
- kernel_shared[(((int)threadIdx.x) * 9)] = kernel[((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9))];
- kernel_shared[((((int)threadIdx.x) * 9) + 1)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 1)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 2)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 3)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 4)];
- kernel_shared[((((int)threadIdx.x) * 9) + 5)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 5)];
- kernel_shared[((((int)threadIdx.x) * 9) + 6)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 6)];
- kernel_shared[((((int)threadIdx.x) * 9) + 7)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 7)];
- kernel_shared[((((int)threadIdx.x) * 9) + 8)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 8)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1008)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64512)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1009)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64513)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1010)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64514)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1011)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64515)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1012)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64516)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1013)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64517)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1014)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64518)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1015)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64519)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1016)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64520)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2016)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129024)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2017)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129025)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2018)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129026)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2019)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129027)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2020)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129028)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2021)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129029)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2022)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129030)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2023)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129031)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2024)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129032)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3024)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193536)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3025)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193537)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3026)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193538)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3027)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193539)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3028)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193540)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3029)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193541)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3030)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193542)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3031)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193543)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3032)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193544)];
- if (((int)threadIdx.x) < 64) {
- kernel_shared[((((int)threadIdx.x) * 9) + 4032)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258048)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4033)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258049)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4034)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258050)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4035)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258051)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4036)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258052)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4037)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258053)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4038)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258054)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4039)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258055)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4040)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258056)];
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 13)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 13) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 14)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 14) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 15)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 15) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 6) % 9))) && ((((((int)threadIdx.x) * 6) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 16)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 16) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 7) % 9))) && ((((((int)threadIdx.x) * 6) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 7) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 17)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 17) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 8) % 9))) && ((((((int)threadIdx.x) * 6) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 8) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 18)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 18) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 19)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 19) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 20)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 20) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 21)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 21) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 22)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 22) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 23)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 23) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x))];
+ kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 56) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 112) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 168) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 280) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 336) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 32256)];
+ kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 560) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 616) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 728) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 840) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 952) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 64512)];
+ kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1064) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1176) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1232) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1288) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1400) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1456) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 96768)];
+ kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1624)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1624) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1680) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1736)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1736) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1848)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1848) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1904) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1960)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1960) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 129024)];
+ kernel_shared[(((int)threadIdx.x) + 2072)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2072) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2128) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2184)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2184) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ if (((int)threadIdx.x) < 8) {
+ kernel_shared[(((int)threadIdx.x) + 2296)] = kernel[(((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 64) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 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 * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
+ for (int rx_outer_inner = 0; rx_outer_inner < 3; ++rx_outer_inner) {
+ for (int ry_inner = 0; ry_inner < 3; ++ry_inner) {
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ }
+ }
}
}
- for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
- for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
- compute[(((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[((i1_inner * 7) + i2_inner)] + bias[(((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
- compute[((((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(((i1_inner * 7) + i2_inner) + 14)] + bias[((((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner) + 32)]), 0.000000e+00f);
- }
+ for (int i1_inner = 0; i1_inner < 4; ++i1_inner) {
+ compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 7)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 14)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 21)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 28)] = max((conv2d_nchw[(i1_inner + 16)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 35)] = max((conv2d_nchw[(i1_inner + 20)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 42)] = max((conv2d_nchw[(i1_inner + 24)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
}
}
@@ -1197,7 +911,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:** ( 4 minutes 53.952 seconds)
+ **Total running time of the script:** ( 5 minutes 5.259 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 109e2f480e..a0d24f4230 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
@@ -26,7 +26,7 @@ Auto-tuning for specific devices and workloads is critical for getting the
best performance. This is a tutorial on how to tune a whole neural
network for NVIDIA GPU with the auto-scheduler.
-To auto-tune a neural network, we partition the network into small subgraphs and
+To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
@@ -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)
- 8.2768 8.2811 8.2856 8.2637 0.0094
+ 8.2099 8.2106 8.2111 8.2080 0.0013
@@ -671,7 +671,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 3.084 seconds)
+ **Total running time of the script:** ( 1 minutes 2.014 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 97effa32aa..84e6d88ab6 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
@@ -26,7 +26,7 @@ Auto-tuning for specific devices and workloads is critical for getting the
best performance. This is a tutorial on how to tune a whole neural
network for x86 CPU with the auto-scheduler.
-To auto-tune a neural network, we partition the network into small subgraphs and
+To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
@@ -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)
- 749.0489 749.6727 750.5104 746.9638 1.5136
+ 754.2097 755.4277 755.5449 751.6566 1.8060
@@ -690,7 +690,7 @@ Other Tips
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 33.331 seconds)
+ **Total running time of the script:** ( 1 minutes 30.850 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 fcf88ffa69..eee72a44e1 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,15 +386,15 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
- preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_7: placeholder_16: Buffer(placeholder_12, int32, [4916], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
- for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
- allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
- for (i.outer.inner: int32, 0, 16) {
+ preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_17: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_18: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+ for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
+ allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
+ for (i.outer.inner: int32, 0, 4) {
for (nb_j.inner: int32, 0, 2) {
let cse_var_2: int32 = ((i.outer.inner*128) + (nb_j.inner*16))
let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
{
- compute_5: Buffer(compute_4, float32, [2048], [])[cse_var_2] = 0f32
+ compute_5: Buffer(compute_4, float32, [512], [])[cse_var_2] = 0f32
compute_5[(cse_var_2 + 1)] = 0f32
compute_5[(cse_var_2 + 2)] = 0f32
compute_5[(cse_var_2 + 3)] = 0f32
@@ -523,7 +523,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
let cse_var_6: int32 = (cse_var_2 + 100)
let cse_var_5: int32 = (cse_var_2 + 10)
let cse_var_4: int32 = (cse_var_2 + 1)
- let cse_var_3: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.outer.inner*1024))
+ let cse_var_3: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*1024))
{
compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_67)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_67) + 1)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
@@ -594,9 +594,11 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
}
}
}
- for (i0.inner: int32, 0, 64) {
- let cse_var_68: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
- compute[ramp(cse_var_68, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_68, 1, 32)]), broadcast(0f32, 32))
+ for (i0.inner: int32, 0, 16) {
+ for (i1.inner: int32, 0, 32) {
+ let cse_var_68: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
+ compute[cse_var_68] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_68]), 0f32)
+ }
}
}
}
@@ -652,7 +654,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 3.034 ms
+ Execution time of this operator: 3.044 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 6c335bfbe9..b794c08936 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:50.907** total execution time for **how_to_tune_with_autotvm** files:
+**00:46.525** 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:50.870 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``) | 00:46.489 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``) | 00:00.022 | 0.0 MB |
+--------------------------------------------------------------------------------------------------+-----------+--------+
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 4f82ff2cf4..1d57a7995e 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
@@ -277,8 +277,7 @@ for this template
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 85.81/85.81 result: MeasureResult(costs=(0.002697835916666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.5564465522766113, timestamp=1666143737.243476) [('tile_f', [-1, 4, 4, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3115661
- No: 2 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+ No: 1 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -400,8 +399,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 16, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5019609
- No: 3 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 256, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4350518
+ No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -523,8 +522,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
- tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10045330
- No: 4 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 32, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1436981
+ No: 3 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -646,9 +645,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 64, 1]), ('tile_y', [-1, 1, 7, 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', 512), ('unroll_explicit', 0)],None,2071127
- No: 5 GFLOPS: 182.53/182.53 result: MeasureResult(costs=(0.0012682868470588237,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.219240665435791, timestamp=1666143742.5988886) [('tile_f', [-1, 4, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,79212
- No: 6 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 256, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,573383
+ No: 4 GFLOPS: 6.94/6.94 result: MeasureResult(costs=(0.033349655,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.517942428588867, timestamp=1666169429.9471283) [('tile_f', [-1, 1, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7487183
+ No: 5 GFLOPS: 0.00/6.94 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -770,8 +769,27 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1409019
- No: 7 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8070602
+ No: 6 GFLOPS: 45.41/45.41 result: MeasureResult(costs=(0.0050984909,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.2176153659820557, timestamp=1666169441.1347392) [('tile_f', [-1, 1, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8725174
+ No: 7 GFLOPS: 0.00/45.41 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, 1, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10033428
+ No: 8 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -893,9 +911,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 128, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10406575
- No: 8 GFLOPS: 30.37/182.53 result: MeasureResult(costs=(0.0076235335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.0822107791900635, timestamp=1666143744.265441) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9003535
- No: 9 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8126590
+ No: 9 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1017,10 +1034,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7600706
- No: 10 GFLOPS: 6.92/182.53 result: MeasureResult(costs=(0.0334347265,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.577871322631836, timestamp=1666143748.0406604) [('tile_f', [-1, 32, 8, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2139144
- No: 11 GFLOPS: 102.16/182.53 result: MeasureResult(costs=(0.0022661218732394368,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.6474456787109375, timestamp=1666143748.969397) [('tile_f', [-1, 1, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9138744
- No: 12 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8269256
+ No: 10 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1142,10 +1157,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 128]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6724735
- No: 13 GFLOPS: 71.61/182.53 result: MeasureResult(costs=(0.0032329701842105265,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9374167919158936, timestamp=1666143754.6194696) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4194115
- No: 14 GFLOPS: 285.51/285.51 result: MeasureResult(costs=(0.0008108337236180904,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.536104440689087, timestamp=1666143755.5805428) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9174255
- No: 15 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3354354
+ No: 11 GFLOPS: 142.80/142.80 result: MeasureResult(costs=(0.0016211210468749999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5818381309509277, timestamp=1666169444.336021) [('tile_f', [-1, 2, 64, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3503155
+ No: 12 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1267,8 +1281,8 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2192470
- No: 16 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 8, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4217169
+ No: 13 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1390,9 +1404,10 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8460404
- No: 17 GFLOPS: 4.31/285.51 result: MeasureResult(costs=(0.0536796225,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9159374237060547, timestamp=1666143766.8481953) [('tile_f', [-1, 16, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1780474
- No: 18 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10453723
+ No: 14 GFLOPS: 5.62/142.80 result: MeasureResult(costs=(0.041167209499999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.391106367111206, timestamp=1666169447.9122622) [('tile_f', [-1, 1, 1, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8739600
+ No: 15 GFLOPS: 1.19/142.80 result: MeasureResult(costs=(0.19401437375,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.597123146057129, timestamp=1666169450.769584) [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8229093
+ No: 16 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1514,8 +1529,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2637807
- No: 19 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3670703
+ No: 17 GFLOPS: 165.82/165.82 result: MeasureResult(costs=(0.001396139138888889,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.067884922027588, timestamp=1666169455.0274963) [('tile_f', [-1, 2, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9453509
+ No: 18 GFLOPS: 0.00/165.82 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1637,25 +1653,9 @@ for this template
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6218109
- No: 20 GFLOPS: 0.00/285.51 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, 2, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10112666
+ tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4098397
+ No: 19 GFLOPS: 216.11/216.11 result: MeasureResult(costs=(0.0010712247666666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5917727947235107, timestamp=1666169455.9506469) [('tile_f', [-1, 2, 16, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7558887
+ No: 20 GFLOPS: 7.10/216.11 result: MeasureResult(costs=(0.03261432625,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.573810338973999, timestamp=1666169456.6823087) [('tile_f', [-1, 8, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3587906
@@ -1710,9 +1710,9 @@ and measure running time.
Finish loading 20 records
Best config:
- [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9174255
+ [('tile_f', [-1, 2, 16, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7558887
Finish loading 20 records
- Time cost of this operator: 0.001165
+ Time cost of this operator: 0.001431
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_aot.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_aot.rst.txt
index d78ccf1c96..422ee1b0c6 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_aot.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_aot.rst.txt
@@ -27,8 +27,8 @@ microTVM Host-Driven AoT
`Alan MacDonald <https://github.com/alanmacd>`_
This tutorial is showcasing microTVM host-driven AoT compilation with
-a TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime
-compared to GraphExecutor. Also, we can have better memory management using ahead
+a TFLite model. AoTExecutor reduces the overhead of parsing graph at runtime
+compared to GraphExecutor. Also, we can have better memory management using ahead
of time compilation. This tutorial can be executed on a x86 CPU using C runtime (CRT)
or on Zephyr platform on a microcontroller/board supported by Zephyr.
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 875172bd33..d15dd12fc3 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
@@ -327,10 +327,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 309.8 98.698 (1, 2, 10, 10, 3) 2 1 [309.8]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.017 0.961 (1, 6, 10, 10) 1 1 [3.017]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 1.069 0.341 (1, 1, 10, 10, 3) 1 1 [1.069]
- Total_time - 313.887 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 309.6 98.727 (1, 2, 10, 10, 3) 2 1 [309.6]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.017 0.962 (1, 6, 10, 10) 1 1 [3.017]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.974 0.311 (1, 1, 10, 10, 3) 1 1 [0.974]
+ Total_time - 313.591 - - - - -
@@ -394,10 +394,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 104.8 97.536 (1, 6, 10, 10, 1) 2 1 [104.8]
- tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.8 1.675 (1, 6, 10, 10) 1 1 [1.8]
- tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.847 0.789 (1, 3, 10, 10, 1) 1 1 [0.847]
- Total_time - 107.448 - - - - -
+ tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 100.2 97.214 (1, 6, 10, 10, 1) 2 1 [100.2]
+ tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.896 1.84 (1, 6, 10, 10) 1 1 [1.896]
+ tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.976 0.947 (1, 1, 10, 10, 3) 1 1 [0.976]
+ Total_time - 103.072 - - - - -
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 8c29599a49..8f432a604e 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/tmpbmy0ce4k/images/random'
+ '/tmp/tmpks2halj5/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], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0]
+ :alt: [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.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/tmpbmy0ce4k/images/target contains 8144 images
- /tmp/tmpbmy0ce4k/images/random contains 5000 images
+ /tmp/tmpks2halj5/images/target contains 8144 images
+ /tmp/tmpks2halj5/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.2493 - accuracy: 0.9177 - val_loss: 0.1375 - val_accuracy: 0.9535 - 47s/epoch - 142ms/step
+ 328/328 - 47s - loss: 0.2270 - accuracy: 0.9216 - val_loss: 0.1158 - val_accuracy: 0.9581 - 47s/epoch - 142ms/step
Epoch 2/3
- 328/328 - 43s - loss: 0.1039 - accuracy: 0.9616 - val_loss: 0.1265 - val_accuracy: 0.9551 - 43s/epoch - 131ms/step
+ 328/328 - 43s - loss: 0.1027 - accuracy: 0.9626 - val_loss: 0.1044 - val_accuracy: 0.9664 - 43s/epoch - 131ms/step
Epoch 3/3
- 328/328 - 43s - loss: 0.0670 - accuracy: 0.9755 - val_loss: 0.1160 - val_accuracy: 0.9600 - 43s/epoch - 130ms/step
+ 328/328 - 43s - loss: 0.0616 - accuracy: 0.9784 - val_loss: 0.1159 - val_accuracy: 0.9679 - 43s/epoch - 131ms/step
- <keras.callbacks.History object at 0x7f316d0cbc50>
+ <keras.callbacks.History object at 0x7faf28b0d710>
@@ -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 14.385 seconds)
+ **Total running time of the script:** ( 4 minutes 34.416 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 2cece98f6f..00926e16b1 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,16 +5,16 @@
Computation times
=================
-**05:16.959** total execution time for **how_to_work_with_microtvm** files:
+**05:36.473** 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:14.385 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``) | 04:34.416 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 00:49.836 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``) | 00:48.963 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:08.916 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``) | 00:09.374 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:03.820 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``) | 00:03.718 | 0.0 MB |
+---------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.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 5dbfe0fe43..ee683283fa 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:43.778** total execution time for **how_to_work_with_relay** files:
+**00:43.385** 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:32.143 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:31.670 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:09.917 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``) | 00:10.168 | 0.0 MB |
+----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.711 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``) | 00:01.541 | 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 32de0eca42..a157a18f6f 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 0x7f314360b710>
+ <function my_cuda_math_rule at 0x7faead9e4f80>
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 a54ae8ab4b..5550bb8b4a 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.853** total execution time for **how_to_work_with_schedules** files:
+**00:06.739** 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.384 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``) | 00:04.408 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.084 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``) | 00:01.034 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.596 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``) | 00:00.556 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.580 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``) | 00:00.536 | 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_extern_op.py` (``extern_op.py``) | 00:00.113 | 0.0 MB |
+------------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.047 | 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.016 | 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 be16601915..ab08063d77 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -347,7 +347,7 @@ The importing needs to happen before the tensorized GEMV being executed.
C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
buffer_map = {A_1: A, B_1: B, C_1: C}
preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
- attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpg37ih42h/input0.cc'\nsource_filename = \"/tmp/tmpg37ih42h/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/tmptgb9htck/input0.cc'\nsource_filename = \"/tmp/tmptgb9htck/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/install/from_source.rst.txt b/docs/_sources/install/from_source.rst.txt
index b92a921d61..458a157009 100644
--- a/docs/_sources/install/from_source.rst.txt
+++ b/docs/_sources/install/from_source.rst.txt
@@ -90,7 +90,7 @@ Homebrew to ensure the dependencies are correctly installed and configured:
brew install llvm
brew install python@3.8
-If you are on macOS with an M1 Processor you may need to use conda to manage dependencies while building. Specifically you may need, `Miniforge <https://github.com/conda-forge/miniforge>`_ to ensure that the dependencies obtained using pip are compatible with M1.
+If you are on macOS with an M1 Processor you may need to use conda to manage dependencies while building. Specifically you may need, `Miniforge <https://github.com/conda-forge/miniforge>`_ to ensure that the dependencies obtained using pip are compatible with M1.
.. code:: bash
diff --git a/docs/_sources/reference/api/python/auto_scheduler.rst.txt b/docs/_sources/reference/api/python/auto_scheduler.rst.txt
index c5b8dccf1b..8fa1823073 100644
--- a/docs/_sources/reference/api/python/auto_scheduler.rst.txt
+++ b/docs/_sources/reference/api/python/auto_scheduler.rst.txt
@@ -21,4 +21,3 @@ tvm.auto_scheduler
:members:
:imported-members:
:autosummary:
-
diff --git a/docs/_sources/reference/api/python/topi.rst.txt b/docs/_sources/reference/api/python/topi.rst.txt
index c77b9eae89..0528844d68 100644
--- a/docs/_sources/reference/api/python/topi.rst.txt
+++ b/docs/_sources/reference/api/python/topi.rst.txt
@@ -45,5 +45,3 @@ tvm.topi.sparse
:members:
:imported-members:
:autosummary:
-
-
diff --git a/docs/_sources/reference/langref/relay_pattern.rst.txt b/docs/_sources/reference/langref/relay_pattern.rst.txt
index 4682e5aa5b..16211b2cb1 100644
--- a/docs/_sources/reference/langref/relay_pattern.rst.txt
+++ b/docs/_sources/reference/langref/relay_pattern.rst.txt
@@ -89,7 +89,7 @@ Or a convolution with a specific kernel size:
x = relay.var('x')
y = relay.var('y')
assert is_conv2d.match(relay.op.nn.conv2d(x, y, kernel_size=[3, 3]))
-
+
Matching an Optional Op
diff --git a/docs/_sources/topic/vta/dev/config.rst.txt b/docs/_sources/topic/vta/dev/config.rst.txt
index 2f98d77760..b3ec49e769 100644
--- a/docs/_sources/topic/vta/dev/config.rst.txt
+++ b/docs/_sources/topic/vta/dev/config.rst.txt
@@ -71,4 +71,3 @@ We provide additional detail below regarding each parameter:
- ``HW_VER``: Hardware version which increments every time the VTA hardware design changes. This parameter is used to uniquely identity hardware bitstreams.
- ``LOG_BATCH``: Equivalent to A in multiplication of shape (A, B) x (B, C), or typically, the batch dimension of inner tensor computation.
- ``LOG_BLOCK``: Equivalent to B and C in multiplication of shape (A, B) x (B, C), or typically, the input/output channel dimensions of the inner tensor computation.
-
diff --git a/docs/_sources/topic/vta/dev/hardware.rst.txt b/docs/_sources/topic/vta/dev/hardware.rst.txt
index baddb56b23..8251278994 100644
--- a/docs/_sources/topic/vta/dev/hardware.rst.txt
+++ b/docs/_sources/topic/vta/dev/hardware.rst.txt
@@ -296,5 +296,3 @@ Load and Store Modules
The load and store modules perform 2D DMA loads with a strided access pattern from DRAM to SRAM.
In addition, the load module can insert 2D padding on the fly, which is useful when blocking 2D convolution.
This means that VTA can tile 2D convolution inputs without paying the overhead of re-laying data out in DRAM to insert spatial padding around input and weight tiles.
-
-
diff --git a/docs/_sources/topic/vta/dev/index.rst.txt b/docs/_sources/topic/vta/dev/index.rst.txt
index 2b715740ed..753af7a217 100644
--- a/docs/_sources/topic/vta/dev/index.rst.txt
+++ b/docs/_sources/topic/vta/dev/index.rst.txt
@@ -28,4 +28,4 @@ This developer guide details the complete VTA-TVM hardware-software stack.
:maxdepth: 2
config
- hardware
\ No newline at end of file
+ hardware
diff --git a/docs/_sources/topic/vta/install.rst.txt b/docs/_sources/topic/vta/install.rst.txt
index e4b309ea9b..ba76df410c 100644
--- a/docs/_sources/topic/vta/install.rst.txt
+++ b/docs/_sources/topic/vta/install.rst.txt
@@ -486,4 +486,3 @@ If you would like to run the full hardware compilation for the ``de10nano`` boar
This process might be a bit lengthy, and might take up to half an hour to complete depending on the performance of your PC. The Quartus Prime software would automatically detect the number of cores available on your PC and try to utilize all of them to perform such process.
Once the compilation completes, the generated bistream can be found under ``<tvm root>/3rdparty/vta-hw/build/hardware/intel/quartus/<configuration>/export/vta.rbf``. You can also open the Quartus project file (.qpf) available at ``<tvm root>/3rdparty/vta-hw/build/hardware/intel/quartus/<configuration>/de10_nano_top.qpf`` to look around the generated reports.
-
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/index.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/index.rst.txt
index b256f978c6..6ef5d82bef 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/index.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/index.rst.txt
@@ -7,7 +7,6 @@ Auto tuning
-
.. raw:: html
<div class="sphx-glr-thumbnails">
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 11350fe0b2..61a4ab2e73 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.268** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:25.771** 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.262 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:25.765 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``) | 00:00.006 | 0.0 MB |
+---------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index fb35f0eb28..0c198292db 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 27.73s!
+ resnet18_v1 inference graph built in 27.26s!
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 209f42dd2f..3c04e0955f 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.11s!
+ yolov3-tiny inference graph built in 19.07s!
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 f7190aeb7b..92687b21d6 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:38.748** total execution time for **topic_vta_tutorials_frontend** files:
+**01:38.575** total execution time for **topic_vta_tutorials_frontend** files:
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:51.068 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``) | 00:51.408 | 0.0 MB |
+------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:47.680 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:47.167 | 0.0 MB |
+------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/topic/vta/tutorials/index.rst.txt b/docs/_sources/topic/vta/tutorials/index.rst.txt
index 06e8e7810d..225609a2e4 100644
--- a/docs/_sources/topic/vta/tutorials/index.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/index.rst.txt
@@ -160,7 +160,6 @@ Auto tuning
-
.. raw:: html
<div class="sphx-glr-thumbnails">
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 c422dcdd75..1fd64f2390 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.138** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.144** total execution time for **topic_vta_tutorials_optimize** files:
+--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``) | 00:02.680 | 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.458 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.427 | 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 ca1d3bdb21..7241abf0c2 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.832** total execution time for **topic_vta_tutorials** files:
+**00:00.761** total execution time for **topic_vta_tutorials** files:
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.444 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.402 | 0.0 MB |
+---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.388 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.358 | 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 36975feeb3..231a8996c4 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -203,13 +203,6 @@ trials, we can load the best schedule from the log file and apply it.
-.. rst-class:: sphx-glr-script-out
-
- .. code-block:: none
-
- *E*E
-
-
@@ -333,7 +326,7 @@ We build the binary and check its correctness and performance.
.. code-block:: none
- Execution time of this operator: 98.191 ms
+ Execution time of this operator: 95.334 ms
@@ -451,7 +444,7 @@ operations.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 34.517 seconds)
+ **Total running time of the script:** ( 1 minutes 12.434 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 7ba1df253d..073fdb5f22 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -462,16 +462,16 @@ reduce variance, we take 5 measurements and average them.
waiting for device...
device available
Get devices for measurement successfully!
- No: 1 GFLOPS: 2.84/2.84 result: MeasureResult(costs=(0.0946597988,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6727735996246338, timestamp=1666142365.4015224) [('tile_y', [-1, 1]), ('tile_x', [-1, 16])],None,40
- No: 2 GFLOPS: 8.46/8.46 result: MeasureResult(costs=(0.031729582,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.690291166305542, timestamp=1666142366.116137) [('tile_y', [-1, 512]), ('tile_x', [-1, 32])],None,59
- No: 3 GFLOPS: 3.90/8.46 result: MeasureResult(costs=(0.06884953320000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2616729736328125, timestamp=1666142368.138731) [('tile_y', [-1, 32]), ('tile_x', [-1, 16])],None,45
- No: 4 GFLOPS: 12.12/12.12 result: MeasureResult(costs=(0.0221548006,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.4880790710449219, timestamp=1666142369.4146698) [('tile_y', [-1, 256]), ('tile_x', [-1, 512])],None,98
- No: 5 GFLOPS: 0.86/12.12 result: MeasureResult(costs=(0.3106522278,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.099677085876465, timestamp=1666142374.6544654) [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
- No: 6 GFLOPS: 1.31/12.12 result: MeasureResult(costs=(0.20498442839999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.4178760051727295, timestamp=1666142378.8655124) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
- No: 7 GFLOPS: 2.73/12.12 result: MeasureResult(costs=(0.09826048600000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7243154048919678, timestamp=1666142380.608031) [('tile_y', [-1, 512]), ('tile_x', [-1, 16])],None,49
- No: 8 GFLOPS: 0.50/12.12 result: MeasureResult(costs=(0.5333040393999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.728060960769653, timestamp=1666142389.346417) [('tile_y', [-1, 64]), ('tile_x', [-1, 1])],None,6
- No: 9 GFLOPS: 8.83/12.12 result: MeasureResult(costs=(0.0304115396,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7580146789550781, timestamp=1666142390.2221808) [('tile_y', [-1, 16]), ('tile_x', [-1, 64])],None,64
- No: 10 GFLOPS: 0.94/12.12 result: MeasureResult(costs=(0.2856231862,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.6850621700286865, timestamp=1666142394.9538877) [('tile_y', [-1, 32]), ('tile_x', [-1, 2])],None,15
+ No: 1 GFLOPS: 10.61/10.61 result: MeasureResult(costs=(0.025310168,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5522544384002686, timestamp=1666168087.296209) [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+ No: 2 GFLOPS: 3.55/10.61 result: MeasureResult(costs=(0.07555133779999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4040124416351318, timestamp=1666168088.7111356) [('tile_y', [-1, 8]), ('tile_x', [-1, 8])],None,33
+ No: 3 GFLOPS: 12.94/12.94 result: MeasureResult(costs=(0.0207387908,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.4987807273864746, timestamp=1666168089.9543133) [('tile_y', [-1, 64]), ('tile_x', [-1, 512])],None,96
+ No: 4 GFLOPS: 2.10/12.94 result: MeasureResult(costs=(0.128021247,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.1969802379608154, timestamp=1666168092.9239159) [('tile_y', [-1, 8]), ('tile_x', [-1, 2])],None,13
+ No: 5 GFLOPS: 1.56/12.94 result: MeasureResult(costs=(0.17185375360000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.902674913406372, timestamp=1666168096.7543356) [('tile_y', [-1, 32]), ('tile_x', [-1, 4])],None,25
+ No: 6 GFLOPS: 3.67/12.94 result: MeasureResult(costs=(0.0732077524,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3287670612335205, timestamp=1666168098.0895882) [('tile_y', [-1, 128]), ('tile_x', [-1, 16])],None,47
+ No: 7 GFLOPS: 1.31/12.94 result: MeasureResult(costs=(0.20424237120000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.4007813930511475, timestamp=1666168101.5207994) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
+ No: 8 GFLOPS: 11.79/12.94 result: MeasureResult(costs=(0.0227603852,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.616755485534668, timestamp=1666168102.0951579) [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
+ No: 9 GFLOPS: 3.29/12.94 result: MeasureResult(costs=(0.0816227602,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4441611766815186, timestamp=1666168103.6545784) [('tile_y', [-1, 64]), ('tile_x', [-1, 8])],None,36
+ No: 10 GFLOPS: 11.36/12.94 result: MeasureResult(costs=(0.0236374636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5181732177734375, timestamp=1666168104.1962073) [('tile_y', [-1, 128]), ('tile_x', [-1, 32])],None,57
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 1f3ec0f06b..b8192c4b6a 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': 512.4635806899823, 'median': 512.755924799967, 'std': 2.390858674269217}
+ {'mean': 513.3250477999992, 'median': 513.9237501499963, 'std': 2.7904373937880096}
@@ -554,30 +554,30 @@ 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.92/ 22.23 GFLOPS | Progress: (4/20) | 7.37 s
[Task 1/25] Current/Best: 9.42/ 22.23 GFLOPS | Progress: (8/20) | 11.72 s
[Task 1/25] Current/Best: 14.80/ 22.23 GFLOPS | Progress: (12/20) | 14.13 s
[Task 1/25] Current/Best: 17.59/ 22.23 GFLOPS | Progress: (16/20) | 16.91 s
[Task 1/25] Current/Best: 18.10/ 22.23 GFLOPS | Progress: (20/20) | 18.75 s Done.
-
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 17.44/ 17.44 GFLOPS | Progress: (4/20) | 2.91 s
[Task 2/25] Current/Best: 16.47/ 17.44 GFLOPS | Progress: (8/20) | 4.36 s
[Task 2/25] Current/Best: 6.87/ 17.44 GFLOPS | Progress: (12/20) | 5.81 s
[Task 2/25] Current/Best: 20.05/ 20.05 GFLOPS | Progress: (16/20) | 7.16 s
[Task 2/25] Current/Best: 17.26/ 20.05 GFLOPS | Progress: (20/20) | 8.82 s Done.
-
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 10.29/ 21.71 GFLOPS | Progress: (4/20) | 4.66 s
[Task 3/25] Current/Best: 6.85/ 21.71 GFLOPS | Progress: (8/20) | 7.11 s
[Task 3/25] Current/Best: 16.40/ 21.71 GFLOPS | Progress: (12/20) | 8.66 s
[Task 3/25] Current/Best: 22.01/ 22.31 GFLOPS | Progress: (16/20) | 11.25 s
[Task 3/25] Current/Best: 12.20/ 22.31 GFLOPS | Progress: (20/20) | 13.09 s Done.
-
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 11.41/ 20.57 GFLOPS | Progress: (4/20) | 5.61 s
[Task 4/25] Current/Best: 14.18/ 20.57 GFLOPS | Progress: (8/20) | 7.35 s
[Task 4/25] Current/Best: 8.10/ 20.57 GFLOPS | Progress: (12/20) | 10.41 s
[Task 4/25] Current/Best: 11.41/ 20.57 GFLOPS | Progress: (16/20) | 13.41 s
[Task 4/25] Current/Best: 16.28/ 20.57 GFLOPS | Progress: (20/20) | 15.15 s Done.
-
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 5.39/ 21.69 GFLOPS | Progress: (4/20) | 3.02 s
[Task 5/25] Current/Best: 6.88/ 21.69 GFLOPS | Progress: (8/20) | 4.79 s
[Task 5/25] Current/Best: 16.91/ 21.69 GFLOPS | Progress: (12/20) | 6.79 s
[Task 5/25] Current/Best: 11.93/ 21.69 GFLOPS | Progress: (16/20) | 8.33 s
[Task 5/25] Current/Best: 5.88/ 21.69 GFLOPS | Progress: (20/20) | 10.56 s Done.
-
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 17.86/ 19.70 GFLOPS | Progress: (4/20) | 4.80 s
[Task 6/25] Current/Best: 11.55/ 19.70 GFLOPS | Progress: (8/20) | 6.73 s
[Task 6/25] Current/Best: 16.87/ 19.70 GFLOPS | Progress: (12/20) | 9.14 s
[Task 6/25] Current/Best: 11.90/ 19.70 GFLOPS | Progress: (16/20) | 11.45 s
[Task 6/25] Current/Best: 10.28/ 19.70 GFLOPS | Progress: (20/20) | 13.97 s Done.
-
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 7.82/ 14.05 GFLOPS | Progress: (4/20) | 5.25 s
[Task 7/25] Current/Best: 19.12/ 19.12 GFLOPS | Progress: (8/20) | 7.02 s
[Task 7/25] Current/Best: 12.21/ 19.12 GFLOPS | Progress: (12/20) | 9.23 s
[Task 7/25] Current/Best: 18.35/ 19.12 GFLOPS | Progress: (16/20) | 11.30 s
[Task 7/25] Current/Best: 17.40/ 22.48 GFLOPS | Progress: (20/20) | 13.03 s Done.
-
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 12.70/ 12.70 GFLOPS | Progress: (4/20) | 9.47 s
[Task 8/25] Current/Best: 11.65/ 17.57 GFLOPS | Progress: (8/20) | 12.64 s
[Task 8/25] Current/Best: 14.70/ 17.57 GFLOPS | Progress: (12/20) | 14.51 s
[Task 8/25] Current/Best: 10.41/ 20.88 GFLOPS | Progress: (16/20) | 16.11 s
[Task 8/25] Current/Best: 3.98/ 20.88 GFLOPS | Progress: (20/20) | 18.51 s Done.
-
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 16.44/ 16.44 GFLOPS | Progress: (4/20) | 3.57 s
[Task 9/25] Current/Best: 11.30/ 23.47 GFLOPS | Progress: (8/20) | 14.48 s
[Task 9/25] Current/Best: 16.08/ 23.47 GFLOPS | Progress: (12/20) | 16.48 s
[Task 9/25] Current/Best: 18.09/ 23.47 GFLOPS | Progress: (16/20) | 27.26 s
[Task 9/25] Current/Best: 13.79/ 23.47 GFLOPS | Progress: (20/20) | 29.43 s
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 15.21/ 15.85 GFLOPS | Progress: (4/20) | 2.86 s
[Task 10/25] Current/Best: 3.13/ 15.85 GFLOPS | Progress: (8/20) | 4.83 s
[Task 10/25] Current/Best: 17.12/ 17.12 GFLOPS | Progress: (12/20) | 6.55 s
[Task 10/25] Current/Best: 4.61/ 17.67 GFLOPS | Progress: (16/20) | 8.83 s
[Task 10/25] Current/Best: 13.89/ 17.84 GFLOPS | Progress: (20/20)
| 10.33 s Done.
-
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 12.39/ 15.95 GFLOPS | Progress: (4/20) | 3.88 s
[Task 11/25] Current/Best: 9.47/ 16.68 GFLOPS | Progress: (8/20) | 6.80 s
[Task 11/25] Current/Best: 12.00/ 17.73 GFLOPS | Progress: (12/20) | 9.32 s
[Task 11/25] Current/Best: 9.38/ 17.73 GFLOPS | Progress: (16/20) | 11.97 s
[Task 11/25] Current/Best: 11.42/ 18.32 GFLOPS | Progress: (20/20) | 14.47 s Done.
-
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 13.21/ 13.21 GFLOPS | Progress: (4/20) | 3.73 s
[Task 12/25] Current/Best: 8.46/ 17.06 GFLOPS | Progress: (8/20) | 5.86 s
[Task 12/25] Current/Best: 14.10/ 19.95 GFLOPS | Progress: (12/20) | 7.92 s
[Task 12/25] Current/Best: 13.05/ 19.95 GFLOPS | Progress: (16/20) | 11.55 s
[Task 12/25] Current/Best: 14.44/ 19.95 GFLOPS | Progress: (20/20) | 13.69 s Done.
-
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 14.34/ 19.85 GFLOPS | Progress: (4/20) | 3.99 s
[Task 13/25] Current/Best: 9.33/ 22.01 GFLOPS | Progress: (8/20) | 6.34 s
[Task 13/25] Current/Best: 9.31/ 22.01 GFLOPS | Progress: (12/20) | 8.88 s
[Task 13/25] Current/Best: 16.12/ 22.01 GFLOPS | Progress: (16/20) | 12.17 s
[Task 13/25] Current/Best: 12.13/ 22.01 GFLOPS | Progress: (20/20) | 14.86 s Done.
-
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 11.85/ 16.74 GFLOPS | Progress: (4/20) | 4.91 s
[Task 14/25] Current/Best: 6.53/ 16.74 GFLOPS | Progress: (8/20) | 9.89 s
[Task 14/25] Current/Best: 14.39/ 18.96 GFLOPS | Progress: (12/20) | 16.93 s
[Task 14/25] Current/Best: 13.12/ 18.96 GFLOPS | Progress: (16/20) | 22.32 s
[Task 14/25] Current/Best: 14.45/ 18.96 GFLOPS | Progress: (20/20) | 24.35 s
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
- Done.
-
[Task 15/25] Current/Best: 9.92/ 19.47 GFLOPS | Progress: (4/20) | 4.81 s
[Task 15/25] Current/Best: 15.86/ 19.47 GFLOPS | Progress: (8/20) | 7.16 s
[Task 15/25] Current/Best: 9.13/ 19.66 GFLOPS | Progress: (12/20) | 10.22 s
[Task 15/25] Current/Best: 8.62/ 21.86 GFLOPS | Progress: (16/20) | 15.41 s
[Task 15/25] Current/Best: 15.14/ 21.86 GFLOPS | Progress: (20/20) | 18.21 s
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 7.58/ 18.47 GFLOPS | Progress: (4/20) | 4.34 s
[Task 16/25] Current/Best: 14.01/ 18.47 GFLOPS | Progress: (8/20) | 6.28 s
[Task 16/25] Current/Best: 17.39/ 20.14 GFLOPS | Progress: (12/20) | 7.58 s
[Task 16/25] Current/Best: 18.21/ 20.79 GFLOPS | Progress: (16/20) | 9.46 s
[Task 16/25] Current/Best: 7.25/ 20.79 GFLOPS | Progress: (20/20) | 11.85 s Done.
-
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 22.01/ 22.01 GFLOPS | Progress: (4/20) | 3.61 s
[Task 17/25] Current/Best: 18.24/ 22.01 GFLOPS | Progress: (8/20) | 5.97 s
[Task 17/25] Current/Best: 18.22/ 22.01 GFLOPS | Progress: (12/20) | 8.15 s
[Task 17/25] Current/Best: 17.55/ 22.01 GFLOPS | Progress: (16/20) | 10.68 s
[Task 17/25] Current/Best: 16.69/ 22.01 GFLOPS | Progress: (20/20) | 13.96 s Done.
-
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 12.36/ 13.26 GFLOPS | Progress: (4/20) | 5.34 s
[Task 18/25] Current/Best: 10.44/ 14.67 GFLOPS | Progress: (8/20) | 8.77 s
[Task 18/25] Current/Best: 20.83/ 20.83 GFLOPS | Progress: (12/20) | 10.83 s
[Task 18/25] Current/Best: 6.54/ 20.83 GFLOPS | Progress: (16/20) | 16.50 s
[Task 18/25] Current/Best: 9.34/ 20.83 GFLOPS | Progress: (20/20) | 18.07 s Done.
-
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 3.08/ 21.18 GFLOPS | Progress: (4/20) | 8.03 s
[Task 19/25] Current/Best: 15.75/ 21.18 GFLOPS | Progress: (8/20) | 10.43 s
[Task 19/25] Current/Best: 10.66/ 21.18 GFLOPS | Progress: (12/20) | 13.82 s
[Task 19/25] Current/Best: 8.32/ 21.18 GFLOPS | Progress: (16/20) | 18.90 s
[Task 19/25] Current/Best: 19.65/ 21.18 GFLOPS | Progress: (20/20) | 21.88 s Done.
-
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 18.12/ 18.12 GFLOPS | Progress: (4/20) | 3.90 s
[Task 20/25] Current/Best: 14.77/ 18.12 GFLOPS | Progress: (8/20) | 7.44 s
[Task 20/25] Current/Best: 21.75/ 21.75 GFLOPS | Progress: (12/20) | 10.25 s
[Task 20/25] Current/Best: 9.23/ 21.75 GFLOPS | Progress: (16/20) | 12.61 s
[Task 20/25] Current/Best: 11.79/ 21.75 GFLOPS | Progress: (20/20) | 14.62 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
- Done.
-
[Task 21/25] Current/Best: 12.77/ 12.77 GFLOPS | Progress: (4/20) | 3.08 s
[Task 21/25] Current/Best: 11.01/ 16.78 GFLOPS | Progress: (8/20) | 6.84 s
[Task 21/25] Current/Best: 8.46/ 16.78 GFLOPS | Progress: (12/20) | 11.27 s
[Task 21/25] Current/Best: 7.25/ 16.78 GFLOPS | Progress: (16/20) | 13.32 s
[Task 21/25] Current/Best: 16.90/ 18.90 GFLOPS | Progress: (20/20) | 14.77 s
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 14.02/ 14.02 GFLOPS | Progress: (4/20) | 3.91 s
[Task 22/25] Current/Best: 14.91/ 14.91 GFLOPS | Progress: (8/20) | 6.20 s
[Task 22/25] Current/Best: 11.30/ 19.51 GFLOPS | Progress: (12/20) | 8.25 s
[Task 22/25] Current/Best: 20.91/ 20.91 GFLOPS | Progress: (16/20) | 9.46 s
[Task 22/25] Current/Best: 7.68/ 20.91 GFLOPS | Progress: (20/20) | 11.84 s Done.
-
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 12.31/ 19.78 GFLOPS | Progress: (4/20) | 5.20 s
[Task 23/25] Current/Best: 10.89/ 19.78 GFLOPS | Progress: (8/20) | 8.63 s
[Task 23/25] Current/Best: 5.10/ 19.78 GFLOPS | Progress: (12/20) | 12.93 s
[Task 23/25] Current/Best: 20.03/ 21.42 GFLOPS | Progress: (16/20) | 15.00 s
[Task 23/25] Current/Best: 10.62/ 21.42 GFLOPS | Progress: (20/20) | 17.07 s Done.
-
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 5.51/ 9.41 GFLOPS | Progress: (4/20) | 12.24 s
[Task 24/25] Current/Best: 9.39/ 10.11 GFLOPS | Progress: (8/20) | 14.70 s
[Task 24/25] Current/Best: 0.58/ 10.11 GFLOPS | Progress: (12/20) | 25.50 s
[Task 24/25] Current/Best: 3.52/ 10.11 GFLOPS | Progress: (16/20) | 31.50 s
[Task 24/25] Current/Best: 3.22/ 10.11 GFLOPS | Progress: (20/20) | 42.04 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
-
[Task 25/25] Current/Best: 1.55/ 5.74 GFLOPS | Progress: (4/20) | 13.06 s
[Task 25/25] Current/Best: 9.49/ 9.49 GFLOPS | Progress: (8/20) | 23.73 s
[Task 25/25] Current/Best: 5.67/ 9.49 GFLOPS | Progress: (12/20) | 34.44 s
[Task 25/25] Current/Best: 3.45/ 9.49 GFLOPS | Progress: (16/20) | 45.14 s
[Task 25/25] Current/Best: 1.55/ 9.49 GFLOPS | Progress: (20/20) | 47.23 s
+
[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 1/25] Current/Best: 12.77/ 12.77 GFLOPS | Progress: (4/20) | 10.41 s
[Task 1/25] Current/Best: 19.14/ 19.14 GFLOPS | Progress: (8/20) | 14.22 s
[Task 1/25] Current/Best: 8.38/ 19.14 GFLOPS | Progress: (12/20) | 16.96 s
[Task 1/25] Current/Best: 21.35/ 21.35 GFLOPS | Progress: (16/20) | 21.85 s
[Task 1/25] Current/Best: 22.65/ 22.65 GFLOPS | Progress: (20/20) | 24.09 s Done.
+
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 2/25] Current/Best: 21.00/ 21.00 GFLOPS | Progress: (4/20) | 2.55 s
[Task 2/25] Current/Best: 12.30/ 21.00 GFLOPS | Progress: (8/20) | 3.75 s
[Task 2/25] Current/Best: 6.62/ 21.00 GFLOPS | Progress: (12/20) | 5.50 s
[Task 2/25] Current/Best: 19.86/ 21.00 GFLOPS | Progress: (16/20) | 6.43 s
[Task 2/25] Current/Best: 13.12/ 21.00 GFLOPS | Progress: (20/20) | 7.71 s Done.
+
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 3/25] Current/Best: 11.50/ 11.56 GFLOPS | Progress: (4/20) | 4.11 s
[Task 3/25] Current/Best: 12.02/ 12.02 GFLOPS | Progress: (8/20) | 7.37 s
[Task 3/25] Current/Best: 22.88/ 22.88 GFLOPS | Progress: (12/20) | 9.81 s
[Task 3/25] Current/Best: 8.30/ 24.31 GFLOPS | Progress: (16/20) | 12.05 s
[Task 3/25] Current/Best: 18.04/ 24.31 GFLOPS | Progress: (20/20) | 14.81 s Done.
+
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 4/25] Current/Best: 10.81/ 19.11 GFLOPS | Progress: (4/20) | 3.30 s
[Task 4/25] Current/Best: 15.34/ 19.11 GFLOPS | Progress: (8/20) | 5.25 s
[Task 4/25] Current/Best: 13.94/ 19.11 GFLOPS | Progress: (12/20) | 7.36 s
[Task 4/25] Current/Best: 8.91/ 19.11 GFLOPS | Progress: (16/20) | 9.74 s
[Task 4/25] Current/Best: 9.81/ 19.11 GFLOPS | Progress: (20/20) | 15.09 s Done.
+
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 5/25] Current/Best: 2.92/ 11.32 GFLOPS | Progress: (4/20) | 3.76 s
[Task 5/25] Current/Best: 12.22/ 21.89 GFLOPS | Progress: (8/20) | 5.28 s
[Task 5/25] Current/Best: 9.99/ 21.89 GFLOPS | Progress: (12/20) | 6.73 s
[Task 5/25] Current/Best: 21.47/ 21.89 GFLOPS | Progress: (16/20) | 8.45 s
[Task 5/25] Current/Best: 12.43/ 21.89 GFLOPS | Progress: (20/20) | 10.48 s Done.
+
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 6/25] Current/Best: 5.79/ 16.27 GFLOPS | Progress: (4/20) | 4.10 s
[Task 6/25] Current/Best: 11.19/ 18.04 GFLOPS | Progress: (8/20) | 6.15 s
[Task 6/25] Current/Best: 13.65/ 18.04 GFLOPS | Progress: (12/20) | 9.16 s
[Task 6/25] Current/Best: 13.22/ 19.91 GFLOPS | Progress: (16/20) | 11.82 s
[Task 6/25] Current/Best: 17.12/ 19.91 GFLOPS | Progress: (20/20) | 15.42 s Done.
+
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 7/25] Current/Best: 15.06/ 15.86 GFLOPS | Progress: (4/20) | 3.37 s
[Task 7/25] Current/Best: 5.93/ 16.05 GFLOPS | Progress: (8/20) | 5.83 s
[Task 7/25] Current/Best: 9.71/ 18.49 GFLOPS | Progress: (12/20) | 7.57 s
[Task 7/25] Current/Best: 13.48/ 18.49 GFLOPS | Progress: (16/20) | 9.35 s
[Task 7/25] Current/Best: 13.85/ 18.49 GFLOPS | Progress: (20/20) | 12.06 s Done.
+
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 8/25] Current/Best: 5.13/ 12.61 GFLOPS | Progress: (4/20) | 3.75 s
[Task 8/25] Current/Best: 5.45/ 15.96 GFLOPS | Progress: (8/20) | 6.02 s
[Task 8/25] Current/Best: 9.98/ 19.16 GFLOPS | Progress: (12/20) | 10.22 s
[Task 8/25] Current/Best: 15.79/ 19.16 GFLOPS | Progress: (16/20) | 12.29 s
[Task 8/25] Current/Best: 9.91/ 19.16 GFLOPS | Progress: (20/20) | 24.48 s Done.
+
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 9/25] Current/Best: 8.52/ 18.73 GFLOPS | Progress: (4/20) | 4.96 s
[Task 9/25] Current/Best: 9.24/ 18.73 GFLOPS | Progress: (8/20) | 7.31 s
[Task 9/25] Current/Best: 8.40/ 18.73 GFLOPS | Progress: (12/20) | 9.04 s
[Task 9/25] Current/Best: 12.35/ 18.73 GFLOPS | Progress: (16/20) | 15.62 s
[Task 9/25] Current/Best: 11.58/ 18.73 GFLOPS | Progress: (20/20) | 20.67 s Done.
+
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 10/25] Current/Best: 8.27/ 18.53 GFLOPS | Progress: (4/20) | 4.38 s
[Task 10/25] Current/Best: 9.89/ 18.53 GFLOPS | Progress: (8/20) | 6.18 s
[Task 10/25] Current/Best: 14.16/ 20.26 GFLOPS | Progress: (12/20) | 7.59 s
[Task 10/25] Current/Best: 13.26/ 20.26 GFLOPS | Progress: (16/20) | 9.11 s
[Task 10/25] Current/Best: 16.88/ 20.26 GFLOPS | Progress: (20/20) | 10.71 s Done.
+
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 11/25] Current/Best: 7.08/ 21.05 GFLOPS | Progress: (4/20) | 3.60 s
[Task 11/25] Current/Best: 15.44/ 21.05 GFLOPS | Progress: (8/20) | 6.16 s
[Task 11/25] Current/Best: 19.19/ 21.05 GFLOPS | Progress: (12/20) | 8.03 s
[Task 11/25] Current/Best: 22.67/ 22.67 GFLOPS | Progress: (16/20) | 10.34 s
[Task 11/25] Current/Best: 23.98/ 23.98 GFLOPS | Progress: (20/20) | 12.92 s Done.
+
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 12/25] Current/Best: 14.97/ 20.37 GFLOPS | Progress: (4/20) | 6.93 s
[Task 12/25] Current/Best: 4.97/ 20.37 GFLOPS | Progress: (8/20) | 10.81 s
[Task 12/25] Current/Best: 12.95/ 20.37 GFLOPS | Progress: (12/20) | 16.54 s
[Task 12/25] Current/Best: 5.99/ 20.37 GFLOPS | Progress: (16/20) | 18.83 s
[Task 12/25] Current/Best: 15.53/ 20.37 GFLOPS | Progress: (20/20) | 20.71 s Done.
+
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 13/25] Current/Best: 11.80/ 18.83 GFLOPS | Progress: (4/20) | 4.58 s
[Task 13/25] Current/Best: 6.44/ 18.83 GFLOPS | Progress: (8/20) | 6.47 s
[Task 13/25] Current/Best: 12.85/ 18.83 GFLOPS | Progress: (12/20) | 9.14 s
[Task 13/25] Current/Best: 18.75/ 20.59 GFLOPS | Progress: (16/20) | 11.75 s
[Task 13/25] Current/Best: 3.08/ 20.59 GFLOPS | Progress: (20/20) | 16.03 s Done.
+
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 14/25] Current/Best: 14.41/ 17.61 GFLOPS | Progress: (4/20) | 4.01 s
[Task 14/25] Current/Best: 17.38/ 17.61 GFLOPS | Progress: (8/20) | 5.81 s
[Task 14/25] Current/Best: 10.02/ 17.61 GFLOPS | Progress: (12/20) | 8.41 s
[Task 14/25] Current/Best: 13.52/ 17.61 GFLOPS | Progress: (16/20) | 10.43 s
[Task 14/25] Current/Best: 7.99/ 18.62 GFLOPS | Progress: (20/20) | 11.79 s
[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 15/25] Current/Best: 15.01/ 17.23 GFLOPS | Progress: (4/20) | 3.71 s
[Task 15/25] Current/Best: 5.74/ 20.16 GFLOPS | Progress: (8/20) | 5.71 s
[Task 15/25] Current/Best: 16.94/ 21.21 GFLOPS | Progress: (12/20) | 7.17 s
[Task 15/25] Current/Best: 17.01/ 21.21 GFLOPS | Progress: (16/20) | 9.15 s Done.
+
[Task 15/25] Current/Best: 18.79/ 21.21 GFLOPS | Progress: (20/20) | 10.62 s
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 16/25] Current/Best: 14.59/ 15.83 GFLOPS | Progress: (4/20) | 3.51 s
[Task 16/25] Current/Best: 17.99/ 17.99 GFLOPS | Progress: (8/20) | 5.04 s
[Task 16/25] Current/Best: 13.27/ 17.99 GFLOPS | Progress: (12/20) | 6.40 s
[Task 16/25] Current/Best: 16.03/ 18.94 GFLOPS | Progress: (16/20) | 7.59 s
[Task 16/25] Current/Best: 12.17/ 18.94 GFLOPS | Progress: (20/20) | 9.50 s Done.
+
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 17/25] Current/Best: 8.20/ 12.76 GFLOPS | Progress: (4/20) | 4.24 s
[Task 17/25] Current/Best: 17.01/ 17.01 GFLOPS | Progress: (8/20) | 6.54 s
[Task 17/25] Current/Best: 19.29/ 19.29 GFLOPS | Progress: (12/20) | 9.42 s
[Task 17/25] Current/Best: 7.10/ 19.29 GFLOPS | Progress: (16/20) | 12.71 s
[Task 17/25] Current/Best: 14.63/ 19.29 GFLOPS | Progress: (20/20) | 14.62 s Done.
+
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 18/25] Current/Best: 16.41/ 19.72 GFLOPS | Progress: (4/20) | 3.15 s
[Task 18/25] Current/Best: 13.36/ 19.72 GFLOPS | Progress: (8/20) | 5.45 s
[Task 18/25] Current/Best: 18.88/ 19.72 GFLOPS | Progress: (12/20) | 7.64 s
[Task 18/25] Current/Best: 20.70/ 20.70 GFLOPS | Progress: (16/20) | 10.44 s
[Task 18/25] Current/Best: 10.35/ 20.70 GFLOPS | Progress: (20/20) | 15.72 s Done.
+
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 19/25] Current/Best: 18.02/ 18.02 GFLOPS | Progress: (4/20) | 4.68 s
[Task 19/25] Current/Best: 10.56/ 20.65 GFLOPS | Progress: (8/20) | 8.65 s
[Task 19/25] Current/Best: 8.62/ 21.41 GFLOPS | Progress: (12/20) | 11.79 s
[Task 19/25] Current/Best: 17.04/ 21.41 GFLOPS | Progress: (16/20) | 14.01 s
[Task 19/25] Current/Best: 5.35/ 22.02 GFLOPS | Progress: (20/20) | 17.23 s Done.
+
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 20/25] Current/Best: 3.08/ 18.19 GFLOPS | Progress: (4/20) | 4.99 s
[Task 20/25] Current/Best: 14.49/ 18.19 GFLOPS | Progress: (8/20) | 7.53 s
[Task 20/25] Current/Best: 5.26/ 18.19 GFLOPS | Progress: (12/20) | 10.24 s
[Task 20/25] Current/Best: 5.21/ 18.19 GFLOPS | Progress: (16/20) | 12.68 s
[Task 20/25] Current/Best: 5.14/ 18.19 GFLOPS | Progress: (20/20) | 17.07 s
[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 21/25] Current/Best: 9.56/ 15.00 GFLOPS | Progress: (4/20) | 3.20 s
[Task 21/25] Current/Best: 17.24/ 18.93 GFLOPS | Progress: (8/20) | 4.96 s Done.
+
[Task 21/25] Current/Best: 10.58/ 18.93 GFLOPS | Progress: (12/20) | 7.23 s
[Task 21/25] Current/Best: 17.72/ 20.41 GFLOPS | Progress: (16/20) | 8.53 s
[Task 21/25] Current/Best: 13.98/ 20.41 GFLOPS | Progress: (20/20) | 10.38 s Done.
+
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 22/25] Current/Best: 14.29/ 15.30 GFLOPS | Progress: (4/20) | 2.98 s
[Task 22/25] Current/Best: 7.30/ 16.01 GFLOPS | Progress: (8/20) | 4.61 s
[Task 22/25] Current/Best: 8.99/ 16.01 GFLOPS | Progress: (12/20) | 6.95 s
[Task 22/25] Current/Best: 6.15/ 16.01 GFLOPS | Progress: (16/20) | 9.71 s
[Task 22/25] Current/Best: 10.69/ 16.01 GFLOPS | Progress: (20/20) | 12.19 s Done.
+
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 23/25] Current/Best: 12.56/ 19.04 GFLOPS | Progress: (4/20) | 3.65 s
[Task 23/25] Current/Best: 8.99/ 23.74 GFLOPS | Progress: (8/20) | 5.86 s
[Task 23/25] Current/Best: 18.08/ 23.74 GFLOPS | Progress: (12/20) | 8.01 s
[Task 23/25] Current/Best: 13.76/ 23.74 GFLOPS | Progress: (16/20) | 10.63 s
[Task 23/25] Current/Best: 15.81/ 23.74 GFLOPS | Progress: (20/20) | 13.81 s Done.
+
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
[Task 24/25] Current/Best: 5.36/ 5.43 GFLOPS | Progress: (4/20) | 12.18 s
[Task 24/25] Current/Best: 0.53/ 5.95 GFLOPS | Progress: (8/20) | 22.93 s
[Task 24/25] Current/Best: 4.59/ 9.74 GFLOPS | Progress: (12/20) | 24.72 s
[Task 24/25] Current/Best: 7.78/ 10.05 GFLOPS | Progress: (16/20) | 30.57 s
[Task 24/25] Current/Best: 9.95/ 10.05 GFLOPS | Progress: (20/20) | 41.28 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
[Task 25/25] Current/Best: 5.99/ 7.36 GFLOPS | Progress: (4/20) | 3.97 s
[Task 25/25] Current/Best: 1.55/ 7.36 GFLOPS | Progress: (8/20) | 14.28 s
[Task 25/25] Current/Best: 8.68/ 8.68 GFLOPS | Progress: (12/20) | 25.00 s
[Task 25/25] Current/Best: 7.46/ 8.68 GFLOPS | Progress: (16/20) | 36.58 s
[Task 25/25] Current/Best: 3.87/ 8.83 GFLOPS | Progress: (20/20) | 47.29 s
@@ -674,7 +674,7 @@ Verify that the optimized model runs and produces the same results:
.. code-block:: none
class='n02123045 tabby, tabby cat' with probability=0.621104
- class='n02123159 tiger cat' with probability=0.356378
+ class='n02123159 tiger cat' with probability=0.356379
class='n02124075 Egyptian cat' with probability=0.019712
class='n02129604 tiger, Panthera tigris' with probability=0.001215
class='n04040759 radiator' with probability=0.000262
@@ -731,8 +731,8 @@ improvement in comparing the optimized model to the unoptimized model.
.. code-block:: none
- optimized: {'mean': 414.944322750016, 'median': 414.7271163500591, 'std': 3.30161131721889}
- unoptimized: {'mean': 512.4635806899823, 'median': 512.755924799967, 'std': 2.390858674269217}
+ optimized: {'mean': 430.3839928100001, 'median': 430.16968795001276, 'std': 3.1709376226457264}
+ unoptimized: {'mean': 513.3250477999992, 'median': 513.9237501499963, 'std': 2.7904373937880096}
@@ -755,7 +755,7 @@ profiling/benchmarking.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 10 minutes 55.820 seconds)
+ **Total running time of the script:** ( 10 minutes 36.884 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 bafa9b9433..bd21b989eb 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -282,7 +282,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.171e-07 secs/op
+ 1.255e-07 secs/op
diff --git a/docs/_sources/tutorial/index.rst.txt b/docs/_sources/tutorial/index.rst.txt
index c08de74685..ea6260214d 100644
--- a/docs/_sources/tutorial/index.rst.txt
+++ b/docs/_sources/tutorial/index.rst.txt
@@ -71,7 +71,7 @@ prepared to dig into TVM more deeply.
.. raw:: html
- <div class="sphx-glr-thumbcontainer" tooltip="Hi! Here we explain the scripting tool designed for the complete TVM beginner. π ...">
+ <div class="sphx-glr-thumbcontainer" tooltip="Hi! Here we explain the scripting tool designed for the complete TVM beginner. π">
.. only:: html
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 85d310a5ca..10f262d71c 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -263,7 +263,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
.. code-block:: none
- [stage(a, placeholder(a, 0x20c637f0)), stage(b, placeholder(b, 0x267c3b90)), 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, 0x227e1ed0)), stage(b, placeholder(b, 0x228cfe80)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(mi [...]
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index c30e09a34c..8d6f52ce34 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,32 +5,32 @@
Computation times
=================
-**14:43.637** total execution time for **tutorial** files:
+**13:49.889** total execution time for **tutorial** files:
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 10:55.820 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``) | 10:36.884 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:34.517 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:12.434 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:01.330 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``) | 01:01.798 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:35.489 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``) | 00:35.253 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:35.011 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``) | 00:21.336 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.740 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:01.266 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``) | 00:00.541 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``) | 00:00.733 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.182 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.174 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.005 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``) | 00:00.006 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
| :ref:`sphx_glr_tutorial_uma.py` (``uma.py``) | 00:00.001 | 0.0 MB |
+------------------------------------------------------------------------------------------+-----------+--------+
-| :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_python.py` (``tvmc_python.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 20de5a7c60..823472f0bf 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
@@ -394,7 +394,7 @@ compile and run this new schedule with the parallel operation applied:
.. code-block:: none
- parallel: 0.000008
+ parallel: 0.000007
@@ -501,10 +501,10 @@ We can now compare the different schedules
.. code-block:: none
Operator Timing Performance
- numpy 7.2879099934652916e-06 1.0
- naive 6.704599999999999e-06 0.9199619652289452
- parallel 8.1247e-06 1.1148189271389215
- vector 2.4509900000000004e-05 3.3630903814642084
+ numpy 8.347169998614845e-06 1.0
+ naive 6.685900000000001e-06 0.800978056168675
+ parallel 6.939199999999999e-06 0.8313236703159886
+ vector 2.48709e-05 2.9795607378461386
@@ -925,7 +925,7 @@ matrix multiplication.
.. code-block:: none
- Numpy running time: 0.018194
+ Numpy running time: 0.018353
@@ -983,7 +983,7 @@ optimizations.
.. code-block:: none
- none: 3.417181
+ none: 3.420819
@@ -1086,7 +1086,7 @@ schedule.
.. code-block:: none
- blocking: 0.316463
+ blocking: 0.317421
@@ -1182,7 +1182,7 @@ already cache friendly from our previous optimizations.
.. code-block:: none
- vectorization: 0.339958
+ vectorization: 0.348006
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1256,7 +1256,7 @@ more cache friendly.
.. code-block:: none
- loop permutation: 0.115822
+ loop permutation: 0.117689
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1355,7 +1355,7 @@ optimized schedule.
.. code-block:: none
- array packing: 0.107497
+ array packing: 0.109460
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1448,7 +1448,7 @@ to `C` when all the block results are ready.
.. code-block:: none
- block caching: 0.110082
+ block caching: 0.110527
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1534,7 +1534,7 @@ of thread-level parallelization.
.. code-block:: none
- parallelization: 0.145833
+ parallelization: 0.146528
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1615,13 +1615,13 @@ working, we can compare the results.
.. code-block:: none
Operator Timing Performance
- none 3.4171806729000003 1.0
- blocking 0.3164633107 0.09260947576161739
- vectorization 0.3399575221 0.09948479598870436
- loop permutation 0.1158220772 0.033894045497368235
- array packing 0.1074970274 0.03145781206493022
- block caching 0.11008220630000001 0.03221433597965964
- parallelization 0.1458327342 0.04267633120968071
+ none 3.42081869 1.0
+ blocking 0.3174209009 0.09279091634640245
+ vectorization 0.3480062281 0.1017318541661733
+ loop permutation 0.1176892286 0.034403819455277825
+ array packing 0.10946006999999999 0.031998208592575246
+ block caching 0.110526707 0.032310016114885064
+ parallelization 0.1465279652 0.04283418049262354
@@ -1663,7 +1663,7 @@ the computation for specific platforms.
.. rst-class:: sphx-glr-timing
- **Total running time of the script:** ( 1 minutes 1.330 seconds)
+ **Total running time of the script:** ( 1 minutes 1.798 seconds)
.. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
diff --git a/docs/_sources/tutorial/tvmc_python.rst.txt b/docs/_sources/tutorial/tvmc_python.rst.txt
index 47e0ae5aa9..968f9cce1c 100644
--- a/docs/_sources/tutorial/tvmc_python.rst.txt
+++ b/docs/_sources/tutorial/tvmc_python.rst.txt
@@ -23,7 +23,7 @@ Getting Starting using TVMC Python: a high-level API for TVM
**Author**:
`Jocelyn Shiue <https://github.com/CircleSpin>`_
-Hi! Here we explain the scripting tool designed for the complete TVM beginner. π
+Hi! Here we explain the scripting tool designed for the complete TVM beginner. π
Before we get started let's get an example model if you don't already have one.
Follow the steps to download a resnet model via the terminal:
diff --git a/docs/_static/img/README b/docs/_static/img/README
index 414328cc72..8e908dc1af 100644
--- a/docs/_static/img/README
+++ b/docs/_static/img/README
@@ -1,2 +1,2 @@
The logo file in this repo is an exception due to the need of sphinx.
-By default we avoid to put large binary blobs into this repo.
\ No newline at end of file
+By default we avoid to put large binary blobs into this repo.
diff --git a/docs/commit_hash b/docs/commit_hash
index 83094c1807..32a831617a 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-9c9f32536a767d20bd3fbf1beab0aeb909392bde
+a4840e7de38c5a2000917f2101f3ec4a374bcd39
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index c78958ebbf..957760a7d4 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -577,7 +577,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 9.696 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 11.961 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 f2076593f4..d2911c9a1a 100644
--- a/docs/how_to/compile_models/from_keras.html
+++ b/docs/how_to/compile_models/from_keras.html
@@ -498,7 +498,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 966ms/step
+1/1 [==============================] - 1s 964ms/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 4077caae75..85cb5372c0 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -432,7 +432,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.zipc3581d88-e254-4902-8900-f0f7fc614982 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.zip382959be-de85-4029-af76-9e2b16190551 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 4568f76696..38a27c0a8c 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -440,11 +440,14 @@ Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdo
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
0%| | 0.00/41.5M [00:00<?, ?B/s]
- 19%|#9 | 7.99M/41.5M [00:00<00:00, 58.3MB/s]
- 39%|###8 | 16.0M/41.5M [00:00<00:00, 68.5MB/s]
- 65%|######5 | 27.1M/41.5M [00:00<00:00, 87.9MB/s]
- 86%|########6 | 35.8M/41.5M [00:00<00:00, 64.8MB/s]
-100%|##########| 41.5M/41.5M [00:00<00:00, 73.3MB/s]
+ 15%|#5 | 6.33M/41.5M [00:00<00:01, 33.9MB/s]
+ 23%|##3 | 9.57M/41.5M [00:00<00:01, 27.8MB/s]
+ 35%|###5 | 14.7M/41.5M [00:00<00:00, 36.4MB/s]
+ 54%|#####3 | 22.3M/41.5M [00:00<00:00, 48.4MB/s]
+ 66%|######5 | 27.3M/41.5M [00:00<00:00, 39.6MB/s]
+ 77%|#######7 | 32.0M/41.5M [00:00<00:00, 41.0MB/s]
+ 96%|#########6| 40.0M/41.5M [00:00<00:00, 50.6MB/s]
+100%|##########| 41.5M/41.5M [00:00<00:00, 44.3MB/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 3650e1411f..7042ec4bfc 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -419,10 +419,10 @@ be unstable.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>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, 53.6MB/s]
- 37%|###6 | 16.4M/44.7M [00:00<00:00, 69.9MB/s]
- 72%|#######2 | 32.2M/44.7M [00:00<00:00, 109MB/s]
-100%|##########| 44.7M/44.7M [00:00<00:00, 107MB/s]
+ 17%|#6 | 7.43M/44.7M [00:00<00:00, 77.9MB/s]
+ 42%|####2 | 19.0M/44.7M [00:00<00:00, 103MB/s]
+ 70%|####### | 31.3M/44.7M [00:00<00:00, 115MB/s]
+100%|##########| 44.7M/44.7M [00:00<00:00, 119MB/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 837eefde12..77c1730428 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -637,7 +637,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 10.973 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 9.310 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 32aa17e185..0f12d43b15 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -332,7 +332,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:42.655</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:41.305</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 81%" />
@@ -340,44 +340,44 @@
<col style="width: 8%" />
</colgroup>
<tbody>
-<tr class="row-odd"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:10.973</p></td>
+<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:11.961</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></td>
-<td><p>01:09.696</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
+<td><p>01:09.310</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:46.168</p></td>
+<td><p>00:46.099</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:31.856</p></td>
+<td><p>00:31.690</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:30.083</p></td>
+<td><p>00:29.817</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.194</p></td>
+<td><p>00:26.221</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:25.313</p></td>
+<td><p>00:24.965</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.012</p></td>
+<td><p>00:21.804</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.996</p></td>
+<td><p>00:17.049</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.362</p></td>
+<td><p>00:02.389</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 070c9f02d5..d9b4a0852e 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -654,7 +654,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.8526 17.0162 17.3421 16.2236 0.3767
+ 15.8181 15.8187 16.2314 15.5181 0.1952
</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 2a8d118ed6..342f675257 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -441,23 +441,23 @@ be unstable.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>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]
- 6%|6 | 11.0M/170M [00:00<00:01, 115MB/s]
- 13%|#3 | 22.2M/170M [00:00<00:01, 116MB/s]
- 20%|#9 | 33.2M/170M [00:00<00:01, 107MB/s]
- 26%|##5 | 43.6M/170M [00:00<00:01, 105MB/s]
- 32%|###1 | 53.6M/170M [00:00<00:01, 104MB/s]
- 37%|###7 | 63.5M/170M [00:00<00:01, 102MB/s]
- 43%|####3 | 73.3M/170M [00:00<00:00, 101MB/s]
- 49%|####8 | 83.0M/170M [00:00<00:00, 101MB/s]
- 55%|#####4 | 92.6M/170M [00:00<00:00, 101MB/s]
- 60%|###### | 102M/170M [00:01<00:00, 100MB/s]
- 66%|######5 | 112M/170M [00:01<00:00, 101MB/s]
- 72%|#######1 | 121M/170M [00:01<00:00, 95.9MB/s]
- 78%|#######7 | 132M/170M [00:01<00:00, 101MB/s]
- 84%|########3 | 142M/170M [00:01<00:00, 101MB/s]
- 89%|########9 | 152M/170M [00:01<00:00, 101MB/s]
- 95%|#########5| 161M/170M [00:01<00:00, 74.5MB/s]
-100%|##########| 170M/170M [00:01<00:00, 97.4MB/s]
+ 8%|7 | 13.2M/170M [00:00<00:01, 137MB/s]
+ 15%|#5 | 26.2M/170M [00:00<00:01, 111MB/s]
+ 22%|##1 | 37.1M/170M [00:00<00:01, 108MB/s]
+ 28%|##7 | 47.5M/170M [00:00<00:01, 105MB/s]
+ 34%|###3 | 57.6M/170M [00:00<00:01, 103MB/s]
+ 40%|###9 | 67.5M/170M [00:00<00:01, 102MB/s]
+ 45%|####5 | 77.2M/170M [00:00<00:00, 101MB/s]
+ 51%|#####1 | 86.9M/170M [00:00<00:00, 101MB/s]
+ 57%|#####6 | 96.6M/170M [00:01<00:00, 92.0MB/s]
+ 64%|######4 | 109M/170M [00:01<00:00, 103MB/s]
+ 70%|####### | 119M/170M [00:01<00:00, 102MB/s]
+ 76%|#######5 | 129M/170M [00:01<00:00, 101MB/s]
+ 82%|########1 | 139M/170M [00:01<00:00, 101MB/s]
+ 87%|########7 | 148M/170M [00:01<00:00, 101MB/s]
+ 93%|#########3| 158M/170M [00:01<00:00, 101MB/s]
+ 99%|#########8| 168M/170M [00:01<00:00, 100MB/s]
+100%|##########| 170M/170M [00:01<00:00, 102MB/s]
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
for i in range(dim)
/venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode=& [...]
@@ -555,7 +555,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 14.938 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes 9.286 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 a2781fe40a..c7376c7c9d 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -485,8 +485,8 @@ training. Other models require a full post training calibration.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "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]
- 59%|#####8 | 7.99M/13.6M [00:00<00:00, 59.2MB/s]
-100%|##########| 13.6M/13.6M [00:00<00:00, 72.2MB/s]
+ 59%|#####8 | 7.99M/13.6M [00:00<00:00, 71.4MB/s]
+100%|##########| 13.6M/13.6M [00:00<00:00, 86.0MB/s]
</pre></div>
</div>
</div>
@@ -577,7 +577,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.3947 90.3141 93.4234 90.1591 0.3559
+ 90.4957 90.3978 92.0434 90.1333 0.3429
</pre></div>
</div>
<div class="admonition note">
@@ -616,7 +616,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 21.167 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 18.844 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 7a73e08e88..5baba10613 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -574,7 +574,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.3146 120.2682 124.3444 118.8180 0.6116
+ 119.7742 119.6781 127.4953 118.8245 1.0076
</pre></div>
</div>
<div class="admonition note">
@@ -602,7 +602,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 27.136 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 27.230 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 2ccb0c913c..33bd91591b 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -512,7 +512,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 11.890 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 28.885 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 4e921420b5..b6654f70fd 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -454,23 +454,22 @@ 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]
- 3%|2 | 3717/132723 [00:00<00:03, 37165.43KB/s]
- 7%|6 | 9230/132723 [00:00<00:02, 47727.70KB/s]
- 12%|#1 | 15683/132723 [00:00<00:02, 55396.68KB/s]
- 18%|#8 | 24235/132723 [00:00<00:01, 67287.05KB/s]
- 25%|##4 | 32692/132723 [00:00<00:01, 73517.48KB/s]
- 31%|###1 | 41229/132723 [00:00<00:01, 77545.27KB/s]
- 38%|###7 | 49807/132723 [00:00<00:01, 80230.84KB/s]
- 44%|####3 | 58382/132723 [00:00<00:00, 81985.07KB/s]
- 50%|##### | 66856/132723 [00:00<00:00, 82843.05KB/s]
- 57%|#####6 | 75439/132723 [00:01<00:00, 83762.35KB/s]
- 63%|######3 | 83999/132723 [00:01<00:00, 84319.82KB/s]
- 70%|######9 | 92607/132723 [00:01<00:00, 84849.97KB/s]
- 76%|#######6 | 101197/132723 [00:01<00:00, 85166.63KB/s]
- 83%|########2 | 109763/132723 [00:01<00:00, 85313.02KB/s]
- 89%|########9 | 118387/132723 [00:01<00:00, 85590.05KB/s]
- 96%|#########5| 126988/132723 [00:01<00:00, 85714.50KB/s]
-100%|##########| 132723/132723 [00:01<00:00, 79507.91KB/s]
+ 5%|4 | 6202/132723 [00:00<00:02, 62015.62KB/s]
+ 11%|#1 | 15113/132723 [00:00<00:01, 77946.30KB/s]
+ 18%|#8 | 24012/132723 [00:00<00:01, 82986.72KB/s]
+ 25%|##4 | 32846/132723 [00:00<00:01, 85092.69KB/s]
+ 31%|###1 | 41778/132723 [00:00<00:01, 86614.30KB/s]
+ 38%|###8 | 50686/132723 [00:00<00:00, 87448.42KB/s]
+ 45%|####4 | 59583/132723 [00:00<00:00, 87943.31KB/s]
+ 52%|#####1 | 68529/132723 [00:00<00:00, 88422.92KB/s]
+ 58%|#####8 | 77473/132723 [00:00<00:00, 88737.11KB/s]
+ 65%|######5 | 86401/132723 [00:01<00:00, 88902.10KB/s]
+ 72%|#######1 | 95330/132723 [00:01<00:00, 89018.82KB/s]
+ 79%|#######8 | 104297/132723 [00:01<00:00, 89212.79KB/s]
+ 85%|########5 | 113236/132723 [00:01<00:00, 89263.14KB/s]
+ 92%|#########2| 122163/132723 [00:01<00:00, 89259.71KB/s]
+ 99%|#########8| 131089/132723 [00:01<00:00, 88899.02KB/s]
+100%|##########| 132723/132723 [00:01<00:00, 87211.97KB/s]
</pre></div>
</div>
<p>Create TVM runtime and do inference
@@ -509,7 +508,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 55.654 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes 52.794 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 015ee0c473..57e02d2340 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -332,7 +332,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>12:37.385</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>12:41.184</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 86%" />
@@ -341,35 +341,35 @@
</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:14.938</p></td>
+<td><p>03:09.286</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>02:55.654</p></td>
+<td><p>02:52.794</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:27.136</p></td>
+<td><p>02:27.230</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><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:21.167</p></td>
+<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:28.885</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><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:11.890</p></td>
+<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:18.844</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:36.200</p></td>
+<td><p>00:35.349</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:25.497</p></td>
+<td><p>00:24.657</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:24.897</p></td>
+<td><p>00:24.133</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index 80fc796cec..fe077a271e 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -613,7 +613,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.zip6a9c69d2-25c8-4f82-bd6b-295c5fbd007c 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.zip6f8185e0-037e-4c19-bf77-a9af19f00125 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 c09d4f1fe2..46bedf567e 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -332,7 +332,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:46.817</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:45.944</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -341,15 +341,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:43.444</p></td>
+<td><p>00:42.569</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.337</p></td>
+<td><p>00:02.363</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.027</p></td>
+<td><p>00:01.003</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 531043903a..26f510a207 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -517,10 +517,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: 7333us [7333us] (48.37%; 48.37%)
-FoldScaleAxis: 7826us [6us] (51.63%; 51.63%)
- FoldConstant: 7821us [1582us] (51.59%; 99.93%)
- InferType: 6239us [6239us] (41.16%; 79.78%)
+InferType: 6781us [6781us] (46.57%; 46.57%)
+FoldScaleAxis: 7779us [5us] (53.43%; 53.43%)
+ FoldConstant: 7773us [1587us] (53.39%; 99.93%)
+ InferType: 6187us [6187us] (42.49%; 79.59%)
</pre></div>
</div>
</div>
@@ -542,10 +542,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: 6307us [6307us] (44.40%; 44.40%)
-FoldScaleAxis: 7898us [5us] (55.60%; 55.60%)
- FoldConstant: 7893us [1648us] (55.57%; 99.94%)
- InferType: 6245us [6245us] (43.96%; 79.12%)
+InferType: 6201us [6201us] (44.64%; 44.64%)
+FoldScaleAxis: 7690us [5us] (55.36%; 55.36%)
+ FoldConstant: 7685us [1553us] (55.32%; 99.94%)
+ InferType: 6132us [6132us] (44.14%; 79.79%)
</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 48f12a41bd..84059cf530 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -569,7 +569,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: 54.171745 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 36.520385 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 02c3ac3337..28f413cab2 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -911,7 +911,7 @@ be able to run on our build server</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms"</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">* [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 12.696893 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 13.341046 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 43ffb3789a..5de289ff88 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -466,8 +466,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.019461
-Baseline: 3.407722
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018108
+Baseline: 3.530186
</pre></div>
</div>
<p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -527,7 +527,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.296662
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.294269
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -594,7 +594,7 @@ vastly.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Opt2: </span><span class="si">%f</span><span class="s2">"</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.329947
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.331515
</pre></div>
</div>
<p>Here is the generated IR after vectorization.</p>
@@ -655,7 +655,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.117765
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.116358
</pre></div>
</div>
<p>Here is the generated IR after loop permutation.</p>
@@ -738,7 +738,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.110355
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110133
</pre></div>
</div>
<p>Here is the generated IR after array packing.</p>
@@ -824,7 +824,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.111903
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111374
</pre></div>
</div>
<p>Here is the generated IR after blocking.</p>
@@ -914,7 +914,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.147836
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.147180
</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 2765ca15ed..145e17a037 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>00:35.085</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.862</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -341,15 +341,15 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></td>
-<td><p>00:32.430</p></td>
+<td><p>00:32.508</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.461</p></td>
+<td><p>00:01.338</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.194</p></td>
+<td><p>00:01.016</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 ff7a2c1a1f..e88d9d22aa 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -332,7 +332,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:20.804</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>08:26.997</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 85%" />
@@ -341,27 +341,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>04:53.952</p></td>
+<td><p>05:05.259</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:33.331</p></td>
+<td><p>01:30.850</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:03.084</p></td>
+<td><p>01:02.014</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></td>
-<td><p>00:28.086</p></td>
+<td><p>00:27.322</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></td>
-<td><p>00:11.286</p></td>
+<td><p>00:10.930</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></td>
-<td><p>00:11.064</p></td>
+<td><p>00:10.622</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 e2219e4c70..db9b6fcbdc 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
@@ -496,376 +496,246 @@ cooperative fetching, unrolling and operator fusion.</p>
compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
- attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 8;
+ attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 16;
allocate(conv2d_nchw: Pointer(local float32), float32, [28]), storage_scope = local;
allocate(pad_temp.shared: Pointer(shared float32), float32, [648]), 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 {
- conv2d_nchw_1: Buffer(conv2d_nchw, float32, [196], [], scope="local", align=32)[0] = 0f32
- conv2d_nchw_1[14] = 0f32
- conv2d_nchw_1[1] = 0f32
- conv2d_nchw_1[15] = 0f32
- conv2d_nchw_1[2] = 0f32
- conv2d_nchw_1[16] = 0f32
- conv2d_nchw_1[3] = 0f32
- conv2d_nchw_1[17] = 0f32
+ allocate(kernel.shared: Pointer(shared float32), float32, [2304]), storage_scope = shared;
+ attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
+ conv2d_nchw_1: Buffer(conv2d_nchw, float32, [16], [], scope="local", align=16)[0] = 0f32
conv2d_nchw_1[4] = 0f32
- conv2d_nchw_1[18] = 0f32
- conv2d_nchw_1[5] = 0f32
- conv2d_nchw_1[19] = 0f32
- conv2d_nchw_1[6] = 0f32
- conv2d_nchw_1[20] = 0f32
- conv2d_nchw_1[7] = 0f32
- conv2d_nchw_1[21] = 0f32
conv2d_nchw_1[8] = 0f32
- conv2d_nchw_1[22] = 0f32
- conv2d_nchw_1[9] = 0f32
- conv2d_nchw_1[23] = 0f32
- conv2d_nchw_1[10] = 0f32
+ conv2d_nchw_1[12] = 0f32
+ conv2d_nchw_1[16] = 0f32
+ conv2d_nchw_1[20] = 0f32
conv2d_nchw_1[24] = 0f32
- conv2d_nchw_1[11] = 0f32
+ conv2d_nchw_1[1] = 0f32
+ conv2d_nchw_1[5] = 0f32
+ conv2d_nchw_1[9] = 0f32
+ conv2d_nchw_1[13] = 0f32
+ conv2d_nchw_1[17] = 0f32
+ conv2d_nchw_1[21] = 0f32
conv2d_nchw_1[25] = 0f32
- conv2d_nchw_1[12] = 0f32
+ conv2d_nchw_1[2] = 0f32
+ conv2d_nchw_1[6] = 0f32
+ conv2d_nchw_1[10] = 0f32
+ conv2d_nchw_1[14] = 0f32
+ conv2d_nchw_1[18] = 0f32
+ conv2d_nchw_1[22] = 0f32
conv2d_nchw_1[26] = 0f32
- conv2d_nchw_1[13] = 0f32
+ conv2d_nchw_1[3] = 0f32
+ conv2d_nchw_1[7] = 0f32
+ conv2d_nchw_1[11] = 0f32
+ conv2d_nchw_1[15] = 0f32
+ conv2d_nchw_1[19] = 0f32
+ conv2d_nchw_1[23] = 0f32
conv2d_nchw_1[27] = 0f32
for (rc.outer.outer: int32, 0, 64) {
- let cse_var_1: int32 = (rc.outer.outer*392)
+ let cse_var_1: int32 = (rc.outer.outer*72)
{
- attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], 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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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[((((cse_var_1 + (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;
- if @tir.likely((threadIdx.x_1 < 88), dtype=bool) {
- 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[((((cse_var_1 + (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_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1: Buffer(kernel.shared, float32, [4608], [], scope="shared")[(threadIdx.x_2*9)] = kernel[((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9))]
- kernel.shared_1[((threadIdx.x_2*9) + 1)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 1)]
- kernel.shared_1[((threadIdx.x_2*9) + 2)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 2)]
- kernel.shared_1[((threadIdx.x_2*9) + 3)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 3)]
- kernel.shared_1[((threadIdx.x_2*9) + 4)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 4)]
- kernel.shared_1[((threadIdx.x_2*9) + 5)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 5)]
- kernel.shared_1[((threadIdx.x_2*9) + 6)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 6)]
- kernel.shared_1[((threadIdx.x_2*9) + 7)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 7)]
- kernel.shared_1[((threadIdx.x_2*9) + 8)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 8)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 1008)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64512)]
- kernel.shared_1[((threadIdx.x_2*9) + 1009)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64513)]
- kernel.shared_1[((threadIdx.x_2*9) + 1010)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64514)]
- kernel.shared_1[((threadIdx.x_2*9) + 1011)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64515)]
- kernel.shared_1[((threadIdx.x_2*9) + 1012)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64516)]
- kernel.shared_1[((threadIdx.x_2*9) + 1013)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64517)]
- kernel.shared_1[((threadIdx.x_2*9) + 1014)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64518)]
- kernel.shared_1[((threadIdx.x_2*9) + 1015)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64519)]
- kernel.shared_1[((threadIdx.x_2*9) + 1016)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 64520)]
+ attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56 {
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], scope="shared")[(threadIdx.x_1*24)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod((threadIdx.x_1*24), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod((threadIdx.x [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 1)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod(((threadIdx.x_1*24) + 1), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 2)] = @tir.if_then_else(((((3 <= floormod((threadIdx.x_1*8), 27)) && (floormod(((threadIdx.x_1*24) + 2), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1*8), 27)*49)) + (floordiv(floormod((threadIdx.x_1*8), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) - 8)], 0f32, dtype=float32)
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 3)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 3), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 4)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 4), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 5)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 1), 27)) && (floormod(((threadIdx.x_1*24) + 5), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 1), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 1), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 6)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 6), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 6), 9))) && (floormod(((threadIdx.x_1*6) + 6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 6), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 7)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 7), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 7), 9))) && (floormod(((threadIdx.x_1*6) + 7), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 7), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 8)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 2), 27)) && (floormod(((threadIdx.x_1*24) + 8), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 8), 9))) && (floormod(((threadIdx.x_1*6) + 8), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 2), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 2), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 8), 9)) - 8)], 0f32, [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 9)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 9), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod((threadIdx.x_1*6), 9)) - 8)], 0f32, dtype= [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 10)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 10), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 11)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)) && (floormod(((threadIdx.x_1*24) + 11), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 3), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 1), 9)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 12)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 12), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 13)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 13), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 14)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 4), 27)) && (floormod(((threadIdx.x_1*24) + 14), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 4), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 4), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 15)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 15), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 6), 9))) && (floormod(((threadIdx.x_1*6) + 6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 6), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 16)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 16), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 7), 9))) && (floormod(((threadIdx.x_1*6) + 7), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 7), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 17)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 5), 27)) && (floormod(((threadIdx.x_1*24) + 17), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 8), 9))) && (floormod(((threadIdx.x_1*6) + 8), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 5), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 5), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 8), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 18)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 18), 81) < 72)) && (1 <= floormod((threadIdx.x_1*6), 9))) && (floormod((threadIdx.x_1*6), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod((threadIdx.x_1*6), 9)) - 8)], 0f32, dtyp [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 19)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 19), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 1), 9))) && (floormod(((threadIdx.x_1*6) + 1), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod(((threadIdx.x_1*6) + 1), 9)) [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 20)] = @tir.if_then_else(((((1 <= floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)) && (floormod(((threadIdx.x_1*24) + 20), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 2), 9))) && (floormod(((threadIdx.x_1*6) + 2), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 6), 27)*49)) + (floormod((floordiv((threadIdx.x_1*8), 3) + 2), 9)*7)) + floormod(((threadIdx.x_1*6) + 2), 9)) [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 21)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 21), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 3), 9))) && (floormod(((threadIdx.x_1*6) + 3), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 3), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 22)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 22), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 4), 9))) && (floormod(((threadIdx.x_1*6) + 4), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 4), 9)) - 8)], 0f3 [...]
+ }
+ if @tir.likely((threadIdx.x_1 < 27), dtype=bool) {
+ pad_temp.shared_1[((threadIdx.x_1*24) + 23)] = @tir.if_then_else(((((3 <= floormod(((threadIdx.x_1*8) + 7), 27)) && (floormod(((threadIdx.x_1*24) + 23), 81) < 72)) && (1 <= floormod(((threadIdx.x_1*6) + 5), 9))) && (floormod(((threadIdx.x_1*6) + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(((threadIdx.x_1*8) + 7), 27)*49)) + (floordiv(floormod(((threadIdx.x_1*8) + 7), 27), 3)*7)) + floormod(((threadIdx.x_1*6) + 5), 9)) - 8)], 0f3 [...]
+ }
}
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 2016)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129024)]
- kernel.shared_1[((threadIdx.x_2*9) + 2017)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129025)]
- kernel.shared_1[((threadIdx.x_2*9) + 2018)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129026)]
- kernel.shared_1[((threadIdx.x_2*9) + 2019)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129027)]
- kernel.shared_1[((threadIdx.x_2*9) + 2020)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129028)]
- kernel.shared_1[((threadIdx.x_2*9) + 2021)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129029)]
- kernel.shared_1[((threadIdx.x_2*9) + 2022)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129030)]
- kernel.shared_1[((threadIdx.x_2*9) + 2023)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129031)]
- kernel.shared_1[((threadIdx.x_2*9) + 2024)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 129032)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112 {
- kernel.shared_1[((threadIdx.x_2*9) + 3024)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193536)]
- kernel.shared_1[((threadIdx.x_2*9) + 3025)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193537)]
- kernel.shared_1[((threadIdx.x_2*9) + 3026)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193538)]
- kernel.shared_1[((threadIdx.x_2*9) + 3027)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193539)]
- kernel.shared_1[((threadIdx.x_2*9) + 3028)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193540)]
- kernel.shared_1[((threadIdx.x_2*9) + 3029)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193541)]
- kernel.shared_1[((threadIdx.x_2*9) + 3030)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193542)]
- kernel.shared_1[((threadIdx.x_2*9) + 3031)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193543)]
- kernel.shared_1[((threadIdx.x_2*9) + 3032)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 193544)]
- }
- attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 112;
- if @tir.likely((threadIdx.x_2 < 64), dtype=bool) {
- kernel.shared_1[((threadIdx.x_2*9) + 4032)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258048)]
- kernel.shared_1[((threadIdx.x_2*9) + 4033)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258049)]
- kernel.shared_1[((threadIdx.x_2*9) + 4034)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258050)]
- kernel.shared_1[((threadIdx.x_2*9) + 4035)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258051)]
- kernel.shared_1[((threadIdx.x_2*9) + 4036)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258052)]
- kernel.shared_1[((threadIdx.x_2*9) + 4037)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258053)]
- kernel.shared_1[((threadIdx.x_2*9) + 4038)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258054)]
- kernel.shared_1[((threadIdx.x_2*9) + 4039)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258055)]
- kernel.shared_1[((threadIdx.x_2*9) + 4040)] = kernel[(((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 8)*4608)) + (rc.outer.outer*72)) + (floormod(threadIdx.x_2, 8)*9)) + 258056)]
+ attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1: Buffer(kernel.shared, float32, [2304], [], scope="shared")[threadIdx.x_2] = kernel[(((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 56)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 56), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 112)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 112), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 168)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 168), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 224), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 280)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 280), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 336)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 336), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 392), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 448), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 504)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 32256)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 560)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 560), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 616)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 616), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 672), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 728)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 728), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 784), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 840)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 840), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 896), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 952)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 952), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1008)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 64512)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1064)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1064), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1120), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1176)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1176), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1232)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1232), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1288)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1288), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1344), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1400)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1400), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1456)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1456), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1512)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 96768)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1568), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1624)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1624), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1680)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1680), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1736)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1736), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1792), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1848)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1848), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 16), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1904)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1904), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 32), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 1960)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 1960), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[((((blockIdx.x*147456) + cse_var_1) + threadIdx.x_2) + 129024)]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2072)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2072), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 56), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2128)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2128), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 40), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2184)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2184), 72)*4608)) + cse_var_1) + (floormod((floordiv(threadIdx.x_2, 3) + 8), 24)*3)) + floormod(threadIdx.x_2, 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[(((((blockIdx.x*147456) + (floordiv((threadIdx.x_2 + 2240), 72)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 72), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
+ attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 56;
+ if @tir.likely((threadIdx.x_2 < 8), dtype=bool) {
+ kernel.shared_1[(threadIdx.x_2 + 2296)] = kernel[(((((blockIdx.x*147456) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 64), 72), 3)*3)) + floormod((threadIdx.x_2 + 1), 3)) + 142848)]
}
for (rc.outer.inner: int32, 0, 8) {
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9))]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2304)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[((rc.outer.inner*81) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 72)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2376)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 1)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2305)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 73)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2377)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2306)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 74)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2378)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 3)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2307)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 75)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2379)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 4)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2308)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 76)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2380)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 5)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2309)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 77)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2381)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 6)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2310)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 63)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 78)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 72)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2382)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 7)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2311)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 28)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 37)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 46)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 55)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 64)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 79)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 73)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2383)]))
- conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 8)]))
- conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2312)]))
- conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 29)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 38)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 47)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 56)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 65)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
- conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 80)]))
- conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((rc.outer.inner*81) + floormod(threadIdx.x, 7)) + 74)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*144) + (rc.outer.inner*9)) + 2384)]))
+ for (rx.outer.inner: int32, 0, 3) {
+ for (ry.inner: int32, 0, 3) {
+ conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[16] = (conv2d_nchw_1[16] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[20] = (conv2d_nchw_1[20] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[24] = (conv2d_nchw_1[24] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner)]))
+ conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[17] = (conv2d_nchw_1[17] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[21] = (conv2d_nchw_1[21] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[25] = (conv2d_nchw_1[25] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 72)]))
+ conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[14] = (conv2d_nchw_1[14] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[18] = (conv2d_nchw_1[18] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[22] = (conv2d_nchw_1[22] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[26] = (conv2d_nchw_1[26] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 144)]))
+ conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[15] = (conv2d_nchw_1[15] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 27)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[19] = (conv2d_nchw_1[19] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 36)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[23] = (conv2d_nchw_1[23] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 45)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ conv2d_nchw_1[27] = (conv2d_nchw_1[27] + (pad_temp.shared_1[(((((rc.outer.inner*81) + (ry.inner*9)) + rx.outer.inner) + floormod(threadIdx.x, 7)) + 54)]*kernel.shared_1[(((((floordiv(threadIdx.x, 7)*288) + (rc.outer.inner*9)) + (ry.inner*3)) + rx.outer.inner) + 216)]))
+ }
+ }
}
}
}
- for (i1.inner: int32, 0, 2) {
- for (i2.inner: int32, 0, 7) {
- let cse_var_2: int32 = ((i1.inner*7) + i2.inner)
- {
- compute[(((((blockIdx.x*3136) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[cse_var_2] + bias[(((blockIdx.x*64) + (floordiv(threadIdx.x, 7)*2)) + i1.inner)]), 0f32)
- compute[((((((blockIdx.x*3136) + (floordiv(threadIdx.x, 7)*98)) + (i1.inner*49)) + (i2.inner*7)) + floormod(threadIdx.x, 7)) + 1568)] = max((conv2d_nchw_1[(cse_var_2 + 14)] + bias[((((blockIdx.x*64) + (floordiv(threadIdx.x, 7)*2)) + i1.inner) + 32)]), 0f32)
- }
- }
+ for (i1.inner: int32, 0, 4) {
+ compute[((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7))] = max((conv2d_nchw_1[i1.inner] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 7)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 14)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 21)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 28)] = max((conv2d_nchw_1[(i1.inner + 16)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 35)] = max((conv2d_nchw_1[(i1.inner + 20)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
+ compute[(((((blockIdx.x*1568) + (floordiv(threadIdx.x, 7)*196)) + (i1.inner*49)) + floormod(threadIdx.x, 7)) + 42)] = max((conv2d_nchw_1[(i1.inner + 24)] + bias[(((blockIdx.x*32) + (floordiv(threadIdx.x, 7)*4)) + i1.inner)]), 0f32)
}
}
}
@@ -902,7 +772,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.363 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.347 ms
</pre></div>
</div>
</div>
@@ -931,14 +801,14 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
-conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=2)
+conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=4)
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_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=2)
-conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=7)
+conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=1)
+conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
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_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=7)
conv2d_nchw_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)
@@ -947,18 +817,18 @@ conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, fact
conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+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_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
-compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=7)
+compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=4)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
+compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=1)
-compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
+compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=7)
compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
@@ -978,16 +848,16 @@ s[compute].bind(compute_i0_o_o_i_i1_o_o_i_fused_i2_o_o_i_fused_i3_o_o_i_fused, t
compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused = s[compute].fuse(compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i)
s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread_axis("threadIdx.x"))
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=9)
+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=56)
s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=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=24)
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=56)
s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
-s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 1024)
+s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 64)
s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
CUDA source code:
@@ -1005,356 +875,200 @@ 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__(56) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
float conv2d_nchw[28];
__shared__ float pad_temp_shared[648];
- __shared__ float kernel_shared[4608];
+ __shared__ float kernel_shared[2304];
conv2d_nchw[0] = 0.000000e+00f;
- conv2d_nchw[14] = 0.000000e+00f;
- conv2d_nchw[1] = 0.000000e+00f;
- conv2d_nchw[15] = 0.000000e+00f;
- conv2d_nchw[2] = 0.000000e+00f;
- conv2d_nchw[16] = 0.000000e+00f;
- conv2d_nchw[3] = 0.000000e+00f;
- conv2d_nchw[17] = 0.000000e+00f;
conv2d_nchw[4] = 0.000000e+00f;
- conv2d_nchw[18] = 0.000000e+00f;
- conv2d_nchw[5] = 0.000000e+00f;
- conv2d_nchw[19] = 0.000000e+00f;
- conv2d_nchw[6] = 0.000000e+00f;
- conv2d_nchw[20] = 0.000000e+00f;
- conv2d_nchw[7] = 0.000000e+00f;
- conv2d_nchw[21] = 0.000000e+00f;
conv2d_nchw[8] = 0.000000e+00f;
- conv2d_nchw[22] = 0.000000e+00f;
- conv2d_nchw[9] = 0.000000e+00f;
- conv2d_nchw[23] = 0.000000e+00f;
- conv2d_nchw[10] = 0.000000e+00f;
+ conv2d_nchw[12] = 0.000000e+00f;
+ conv2d_nchw[16] = 0.000000e+00f;
+ conv2d_nchw[20] = 0.000000e+00f;
conv2d_nchw[24] = 0.000000e+00f;
- conv2d_nchw[11] = 0.000000e+00f;
+ conv2d_nchw[1] = 0.000000e+00f;
+ conv2d_nchw[5] = 0.000000e+00f;
+ conv2d_nchw[9] = 0.000000e+00f;
+ conv2d_nchw[13] = 0.000000e+00f;
+ conv2d_nchw[17] = 0.000000e+00f;
+ conv2d_nchw[21] = 0.000000e+00f;
conv2d_nchw[25] = 0.000000e+00f;
- conv2d_nchw[12] = 0.000000e+00f;
+ conv2d_nchw[2] = 0.000000e+00f;
+ conv2d_nchw[6] = 0.000000e+00f;
+ conv2d_nchw[10] = 0.000000e+00f;
+ conv2d_nchw[14] = 0.000000e+00f;
+ conv2d_nchw[18] = 0.000000e+00f;
+ conv2d_nchw[22] = 0.000000e+00f;
conv2d_nchw[26] = 0.000000e+00f;
- conv2d_nchw[13] = 0.000000e+00f;
+ conv2d_nchw[3] = 0.000000e+00f;
+ conv2d_nchw[7] = 0.000000e+00f;
+ conv2d_nchw[11] = 0.000000e+00f;
+ conv2d_nchw[15] = 0.000000e+00f;
+ conv2d_nchw[19] = 0.000000e+00f;
+ conv2d_nchw[23] = 0.000000e+00f;
conv2d_nchw[27] = 0.000000e+00f;
for (int rc_outer_outer = 0; rc_outer_outer < 64; ++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 * 392) + ((((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 * 392) + (((((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 * 392) + (((((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 * 392) + (((((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 * 392) + (((((int)threadIdx.x) + 448) / 81) * 49)) + ((((((int)threadIdx.x) + 43) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
- if (((int)threadIdx.x) < 88) {
- 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 * 392) + (((((int)threadIdx.x) + 560) / 81) * 49)) + ((((((int)threadIdx.x) + 74) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 2) % 9)) - 8)] : 0.000000e+00f);
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[(((int)threadIdx.x) * 24)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && (((((int)threadIdx.x) * 24) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 1)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && ((((((int)threadIdx.x) * 24) + 1) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 2)] = (((((3 <= ((((int)threadIdx.x) * 8) % 27)) && ((((((int)threadIdx.x) * 24) + 2) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 8) / 27) * 49)) + ((((((int)threadIdx.x) * 8) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 3)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 3) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 4)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 4) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 5)] = (((((3 <= (((((int)threadIdx.x) * 8) + 1) % 27)) && ((((((int)threadIdx.x) * 24) + 5) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 1) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 1) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 6)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 6) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 6) % 9))) && ((((((int)threadIdx.x) * 6) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 7)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 7) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 7) % 9))) && ((((((int)threadIdx.x) * 6) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 7) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 8)] = (((((3 <= (((((int)threadIdx.x) * 8) + 2) % 27)) && ((((((int)threadIdx.x) * 24) + 8) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 8) % 9))) && ((((((int)threadIdx.x) * 6) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 2) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 2) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 8) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 9)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 9) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 10)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 10) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 11)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 1) % 9)) && ((((((int)threadIdx.x) * 24) + 11) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 3) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 1) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 12)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 12) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
}
- kernel_shared[(((int)threadIdx.x) * 9)] = kernel[((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9))];
- kernel_shared[((((int)threadIdx.x) * 9) + 1)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 1)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 2)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 3)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 4)];
- kernel_shared[((((int)threadIdx.x) * 9) + 5)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 5)];
- kernel_shared[((((int)threadIdx.x) * 9) + 6)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 6)];
- kernel_shared[((((int)threadIdx.x) * 9) + 7)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 7)];
- kernel_shared[((((int)threadIdx.x) * 9) + 8)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 8)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1008)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64512)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1009)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64513)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1010)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64514)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1011)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64515)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1012)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64516)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1013)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64517)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1014)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64518)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1015)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64519)];
- kernel_shared[((((int)threadIdx.x) * 9) + 1016)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 64520)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2016)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129024)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2017)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129025)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2018)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129026)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2019)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129027)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2020)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129028)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2021)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129029)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2022)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129030)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2023)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129031)];
- kernel_shared[((((int)threadIdx.x) * 9) + 2024)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 129032)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3024)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193536)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3025)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193537)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3026)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193538)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3027)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193539)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3028)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193540)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3029)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193541)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3030)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193542)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3031)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193543)];
- kernel_shared[((((int)threadIdx.x) * 9) + 3032)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 193544)];
- if (((int)threadIdx.x) < 64) {
- kernel_shared[((((int)threadIdx.x) * 9) + 4032)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258048)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4033)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258049)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4034)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258050)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4035)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258051)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4036)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258052)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4037)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258053)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4038)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258054)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4039)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258055)];
- kernel_shared[((((int)threadIdx.x) * 9) + 4040)] = kernel[(((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) >> 3) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) & 7) * 9)) + 258056)];
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 13)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 13) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 14)] = (((((3 <= (((((int)threadIdx.x) * 8) + 4) % 27)) && ((((((int)threadIdx.x) * 24) + 14) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 4) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 4) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 15)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 15) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 6) % 9))) && ((((((int)threadIdx.x) * 6) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 16)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 16) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 7) % 9))) && ((((((int)threadIdx.x) * 6) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 7) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 17)] = (((((3 <= (((((int)threadIdx.x) * 8) + 5) % 27)) && ((((((int)threadIdx.x) * 24) + 17) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 8) % 9))) && ((((((int)threadIdx.x) * 6) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 5) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 5) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 8) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 18)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 18) % 81) < 72)) && (1 <= ((((int)threadIdx.x) * 6) % 9))) && (((((int)threadIdx.x) * 6) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + ((((int)threadIdx.x) * 6) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 19)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 19) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 1) % 9))) && ((((((int)threadIdx.x) * 6) + 1) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 1) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 20)] = (((((1 <= ((((((int)threadIdx.x) * 8) / 3) + 2) % 9)) && ((((((int)threadIdx.x) * 24) + 20) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 2) % 9))) && ((((((int)threadIdx.x) * 6) + 2) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 6) / 27) * 49)) + (((((((int)threadIdx.x) * 8) / 3) + 2) % 9) * 7)) + (((((int)threadIdx.x) * 6) + 2) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 21)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 21) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 3) % 9))) && ((((((int)threadIdx.x) * 6) + 3) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 3) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 22)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 22) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 4) % 9))) && ((((((int)threadIdx.x) * 6) + 4) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 4) % 9)) - 8)] : 0.000000e+00f);
+ }
+ if (((int)threadIdx.x) < 27) {
+ pad_temp_shared[((((int)threadIdx.x) * 24) + 23)] = (((((3 <= (((((int)threadIdx.x) * 8) + 7) % 27)) && ((((((int)threadIdx.x) * 24) + 23) % 81) < 72)) && (1 <= (((((int)threadIdx.x) * 6) + 5) % 9))) && ((((((int)threadIdx.x) * 6) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 8) + 7) / 27) * 49)) + (((((((int)threadIdx.x) * 8) + 7) % 27) / 3) * 7)) + (((((int)threadIdx.x) * 6) + 5) % 9)) - 8)] : 0.000000e+00f);
+ }
+ kernel_shared[((int)threadIdx.x)] = kernel[(((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x))];
+ kernel_shared[(((int)threadIdx.x) + 56)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 56) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 112)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 112) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 168)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 168) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 280)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 280) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 336)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 336) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 392)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 504)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 32256)];
+ kernel_shared[(((int)threadIdx.x) + 560)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 560) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 616)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 616) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 728)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 728) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 784)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 840)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 840) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 952)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 952) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1008)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 64512)];
+ kernel_shared[(((int)threadIdx.x) + 1064)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1064) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1176)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1176) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1232)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1232) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1288)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1288) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1344) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1400)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1400) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1456)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1456) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1512)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 96768)];
+ kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1568) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1624)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1624) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1680)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1680) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1736)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1736) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1792) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 64) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1848)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1848) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 16) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1904)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1904) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 32) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 1960)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1960) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 16) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + ((int)threadIdx.x)) + 129024)];
+ kernel_shared[(((int)threadIdx.x) + 2072)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2072) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 56) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2128)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2128) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 40) % 72) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2184)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2184) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) / 3) + 8) % 24) * 3)) + (((int)threadIdx.x) % 3))];
+ kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 2240) / 72) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 8) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+ if (((int)threadIdx.x) < 8) {
+ kernel_shared[(((int)threadIdx.x) + 2296)] = kernel[(((((((int)blockIdx.x) * 147456) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) + 64) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 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 * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9))]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2304)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[((rc_outer_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 72)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2376)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 1)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2305)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 73)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2377)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2306)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 74)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2378)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 3)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2307)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 75)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2379)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 4)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2308)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 76)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2380)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 5)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2309)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 77)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2381)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 6)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2310)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 78)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2382)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 7)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2311)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 79)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2383)]));
- conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 8)]));
- conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2312)]));
- conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
- conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 80)]));
- conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((rc_outer_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 144) + (rc_outer_inner * 9)) + 2384)]));
+ for (int rx_outer_inner = 0; rx_outer_inner < 3; ++rx_outer_inner) {
+ for (int ry_inner = 0; ry_inner < 3; ++ry_inner) {
+ conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[16] = (conv2d_nchw[16] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[20] = (conv2d_nchw[20] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[24] = (conv2d_nchw[24] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner)]));
+ conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[17] = (conv2d_nchw[17] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[21] = (conv2d_nchw[21] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[25] = (conv2d_nchw[25] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 72)]));
+ conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[14] = (conv2d_nchw[14] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[18] = (conv2d_nchw[18] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[22] = (conv2d_nchw[22] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[26] = (conv2d_nchw[26] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 144)]));
+ conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[15] = (conv2d_nchw[15] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[19] = (conv2d_nchw[19] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[23] = (conv2d_nchw[23] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ conv2d_nchw[27] = (conv2d_nchw[27] + (pad_temp_shared[(((((rc_outer_inner * 81) + (ry_inner * 9)) + rx_outer_inner) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((((int)threadIdx.x) / 7) * 288) + (rc_outer_inner * 9)) + (ry_inner * 3)) + rx_outer_inner) + 216)]));
+ }
+ }
}
}
- for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
- for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
- compute[(((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[((i1_inner * 7) + i2_inner)] + bias[(((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner)]), 0.000000e+00f);
- compute[((((((((int)blockIdx.x) * 3136) + ((((int)threadIdx.x) / 7) * 98)) + (i1_inner * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7)) + 1568)] = max((conv2d_nchw[(((i1_inner * 7) + i2_inner) + 14)] + bias[((((((int)blockIdx.x) * 64) + ((((int)threadIdx.x) / 7) * 2)) + i1_inner) + 32)]), 0.000000e+00f);
- }
+ for (int i1_inner = 0; i1_inner < 4; ++i1_inner) {
+ compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i1_inner] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 7)] = max((conv2d_nchw[(i1_inner + 4)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 14)] = max((conv2d_nchw[(i1_inner + 8)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 21)] = max((conv2d_nchw[(i1_inner + 12)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 28)] = max((conv2d_nchw[(i1_inner + 16)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 35)] = max((conv2d_nchw[(i1_inner + 20)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
+ compute[(((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 196)) + (i1_inner * 49)) + (((int)threadIdx.x) % 7)) + 42)] = max((conv2d_nchw[(i1_inner + 24)] + bias[(((((int)blockIdx.x) * 32) + ((((int)threadIdx.x) / 7) * 4)) + i1_inner)]), 0.000000e+00f);
}
}
</pre></div>
@@ -1391,7 +1105,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> ( 4 minutes 53.952 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes 5.259 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 4ee4ff454d..f7657851dc 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -907,7 +907,7 @@ so we can read the log file and load the best schedules.</p>
Evaluate inference time cost...
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 8.2768 8.2811 8.2856 8.2637 0.0094
+ 8.2099 8.2106 8.2111 8.2080 0.0013
</pre></div>
</div>
</div>
@@ -929,7 +929,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 3.084 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 2.014 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 4e8353007a..ed00a17884 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -926,7 +926,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)
- 749.0489 749.6727 750.5104 746.9638 1.5136
+ 754.2097 755.4277 755.5449 751.6566 1.8060
</pre></div>
</div>
</div>
@@ -948,7 +948,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 33.331 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 30.850 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 f9357c7c9e..5a3fea6167 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -624,15 +624,15 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
- preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_7: placeholder_16: Buffer(placeholder_12, int32, [4916], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
- for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
- allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
- for (i.outer.inner: int32, 0, 16) {
+ preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_17: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_18: Buffer(placeholder_10, float32, [128, 256], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+ for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
+ allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
+ for (i.outer.inner: int32, 0, 4) {
for (nb_j.inner: int32, 0, 2) {
let cse_var_2: int32 = ((i.outer.inner*128) + (nb_j.inner*16))
let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
{
- compute_5: Buffer(compute_4, float32, [2048], [])[cse_var_2] = 0f32
+ compute_5: Buffer(compute_4, float32, [512], [])[cse_var_2] = 0f32
compute_5[(cse_var_2 + 1)] = 0f32
compute_5[(cse_var_2 + 2)] = 0f32
compute_5[(cse_var_2 + 3)] = 0f32
@@ -761,7 +761,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
let cse_var_6: int32 = (cse_var_2 + 100)
let cse_var_5: int32 = (cse_var_2 + 10)
let cse_var_4: int32 = (cse_var_2 + 1)
- let cse_var_3: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.outer.inner*1024))
+ let cse_var_3: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*1024))
{
compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[((placeholder_3[cse_var_1]*16) + cse_var_67)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_1]*16) + cse_var_67) + 1)]*max(placeholder[(cse_var_3 + placeholder_2[(placeholder_3[cse_var_1] + elem_idx)])], 0f32)))
@@ -832,9 +832,11 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
}
}
}
- for (i0.inner: int32, 0, 64) {
- let cse_var_68: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
- compute[ramp(cse_var_68, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_68, 1, 32)]), broadcast(0f32, 32))
+ for (i0.inner: int32, 0, 16) {
+ for (i1.inner: int32, 0, 32) {
+ let cse_var_68: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
+ compute[cse_var_68] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_68]), 0f32)
+ }
}
}
}
@@ -872,7 +874,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: 3.034 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 3.044 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 3831b157fc..7aae40ceaa 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -332,7 +332,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:50.907</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:46.525</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -341,7 +341,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:50.870</p></td>
+<td><p>00:46.489</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 8842a76024..40d37e8f3a 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -562,8 +562,7 @@ for this template</p>
waiting for device...
device available
Get devices for measurement successfully!
-No: 1 GFLOPS: 85.81/85.81 result: MeasureResult(costs=(0.002697835916666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.5564465522766113, timestamp=1666143737.243476) [('tile_f', [-1, 4, 4, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3115661
-No: 2 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+No: 1 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -685,8 +684,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 16, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5019609
-No: 3 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 256, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4350518
+No: 2 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -808,8 +807,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, in verify_pass
raise InstantiationError("Skipped because of invalid gpu kernel")
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10045330
-No: 4 GFLOPS: 0.00/85.81 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 32, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1436981
+No: 3 GFLOPS: 0.00/0.00 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -931,9 +930,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 64, 1]), ('tile_y', [-1, 1, 7, 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', 512), ('unroll_explicit', 0)],None,2071127
-No: 5 GFLOPS: 182.53/182.53 result: MeasureResult(costs=(0.0012682868470588237,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.219240665435791, timestamp=1666143742.5988886) [('tile_f', [-1, 4, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,79212
-No: 6 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 256, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,573383
+No: 4 GFLOPS: 6.94/6.94 result: MeasureResult(costs=(0.033349655,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.517942428588867, timestamp=1666169429.9471283) [('tile_f', [-1, 1, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7487183
+No: 5 GFLOPS: 0.00/6.94 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1055,8 +1054,27 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1409019
-No: 7 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8070602
+No: 6 GFLOPS: 45.41/45.41 result: MeasureResult(costs=(0.0050984909,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.2176153659820557, timestamp=1666169441.1347392) [('tile_f', [-1, 1, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 8, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8725174
+No: 7 GFLOPS: 0.00/45.41 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, 1, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10033428
+No: 8 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1178,9 +1196,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 128, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10406575
-No: 8 GFLOPS: 30.37/182.53 result: MeasureResult(costs=(0.0076235335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.0822107791900635, timestamp=1666143744.265441) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9003535
-No: 9 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8126590
+No: 9 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1302,10 +1319,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7600706
-No: 10 GFLOPS: 6.92/182.53 result: MeasureResult(costs=(0.0334347265,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.577871322631836, timestamp=1666143748.0406604) [('tile_f', [-1, 32, 8, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2139144
-No: 11 GFLOPS: 102.16/182.53 result: MeasureResult(costs=(0.0022661218732394368,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.6474456787109375, timestamp=1666143748.969397) [('tile_f', [-1, 1, 1, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9138744
-No: 12 GFLOPS: 0.00/182.53 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 2, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8269256
+No: 10 GFLOPS: 0.00/45.41 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1427,10 +1442,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 128]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6724735
-No: 13 GFLOPS: 71.61/182.53 result: MeasureResult(costs=(0.0032329701842105265,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9374167919158936, timestamp=1666143754.6194696) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4194115
-No: 14 GFLOPS: 285.51/285.51 result: MeasureResult(costs=(0.0008108337236180904,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.536104440689087, timestamp=1666143755.5805428) [('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9174255
-No: 15 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 16, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3354354
+No: 11 GFLOPS: 142.80/142.80 result: MeasureResult(costs=(0.0016211210468749999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5818381309509277, timestamp=1666169444.336021) [('tile_f', [-1, 2, 64, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3503155
+No: 12 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1552,8 +1566,8 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2192470
-No: 16 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 1, 8, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4217169
+No: 13 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1675,9 +1689,10 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8460404
-No: 17 GFLOPS: 4.31/285.51 result: MeasureResult(costs=(0.0536796225,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9159374237060547, timestamp=1666143766.8481953) [('tile_f', [-1, 16, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1780474
-No: 18 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10453723
+No: 14 GFLOPS: 5.62/142.80 result: MeasureResult(costs=(0.041167209499999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.391106367111206, timestamp=1666169447.9122622) [('tile_f', [-1, 1, 1, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8739600
+No: 15 GFLOPS: 1.19/142.80 result: MeasureResult(costs=(0.19401437375,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.597123146057129, timestamp=1666169450.769584) [('tile_f', [-1, 1, 2, 128]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8229093
+No: 16 GFLOPS: 0.00/142.80 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1799,8 +1814,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2637807
-No: 19 GFLOPS: 0.00/285.51 result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 8, 1, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3670703
+No: 17 GFLOPS: 165.82/165.82 result: MeasureResult(costs=(0.001396139138888889,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.067884922027588, timestamp=1666169455.0274963) [('tile_f', [-1, 2, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9453509
+No: 18 GFLOPS: 0.00/165.82 result: Traceback (most recent call last):
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1922,25 +1938,9 @@ Traceback (most recent call last):
File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 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, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6218109
-No: 20 GFLOPS: 0.00/285.51 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, 2, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10112666
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel [('tile_f', [-1, 128, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 512, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4098397
+No: 19 GFLOPS: 216.11/216.11 result: MeasureResult(costs=(0.0010712247666666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5917727947235107, timestamp=1666169455.9506469) [('tile_f', [-1, 2, 16, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7558887
+No: 20 GFLOPS: 7.10/216.11 result: MeasureResult(costs=(0.03261432625,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.573810338973999, timestamp=1666169456.6823087) [('tile_f', [-1, 8, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3587906
</pre></div>
</div>
<p>Finally we can inspect the best config from log file, check correctness,
@@ -1979,9 +1979,9 @@ and measure running time.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Finish loading 20 records
Best config:
-[('tile_f', [-1, 2, 16, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9174255
+[('tile_f', [-1, 2, 16, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7558887
Finish loading 20 records
-Time cost of this operator: 0.001165
+Time cost of this operator: 0.001431
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index f3fc25f8a3..0dc29e2e4d 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -587,10 +587,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 309.8 98.698 (1, 2, 10, 10, 3) 2 1 [309.8]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.017 0.961 (1, 6, 10, 10) 1 1 [3.017]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 1.069 0.341 (1, 1, 10, 10, 3) 1 1 [1.069]
-Total_time - 313.887 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 309.6 98.727 (1, 2, 10, 10, 3) 2 1 [309.6]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 3.017 0.962 (1, 6, 10, 10) 1 1 [3.017]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.974 0.311 (1, 1, 10, 10, 3) 1 1 [0.974]
+Total_time - 313.591 - - - - -
</pre></div>
</div>
</div>
@@ -641,10 +641,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 104.8 97.536 (1, 6, 10, 10, 1) 2 1 [104.8]
-tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.8 1.675 (1, 6, 10, 10) 1 1 [1.8]
-tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.847 0.789 (1, 3, 10, 10, 1) 1 1 [0.847]
-Total_time - 107.448 - - - - -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc tvmgen_default_fused_nn_contrib_conv2d_NCHWc 100.2 97.214 (1, 6, 10, 10, 1) 2 1 [100.2]
+tvmgen_default_fused_layout_transform_1 tvmgen_default_fused_layout_transform_1 1.896 1.84 (1, 6, 10, 10) 1 1 [1.896]
+tvmgen_default_fused_layout_transform tvmgen_default_fused_layout_transform 0.976 0.947 (1, 1, 10, 10, 3) 1 1 [0.976]
+Total_time - 103.072 - - - - -
</pre></div>
</div>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index 41629b0bb7..fd3a3e9c0d 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -521,7 +521,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/tmpbmy0ce4k/images/random'
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>'/tmp/tmpks2halj5/images/random'
</pre></div>
</div>
</div>
@@ -581,8 +581,8 @@ objects to other stuff? We can display some examples from our datasets using <co
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
</pre></div>
</div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpbmy0ce4k/images/target contains 8144 images
-/tmp/tmpbmy0ce4k/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.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/tmpks2halj5/images/target contains 8144 images
+/tmp/tmpks2halj5/images/random contains 5000 images
</pre></div>
</div>
</div>
@@ -694,13 +694,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.2493 - accuracy: 0.9177 - val_loss: 0.1375 - val_accuracy: 0.9535 - 47s/epoch - 142ms/step
+328/328 - 47s - loss: 0.2270 - accuracy: 0.9216 - val_loss: 0.1158 - val_accuracy: 0.9581 - 47s/epoch - 142ms/step
Epoch 2/3
-328/328 - 43s - loss: 0.1039 - accuracy: 0.9616 - val_loss: 0.1265 - val_accuracy: 0.9551 - 43s/epoch - 131ms/step
+328/328 - 43s - loss: 0.1027 - accuracy: 0.9626 - val_loss: 0.1044 - val_accuracy: 0.9664 - 43s/epoch - 131ms/step
Epoch 3/3
-328/328 - 43s - loss: 0.0670 - accuracy: 0.9755 - val_loss: 0.1160 - val_accuracy: 0.9600 - 43s/epoch - 130ms/step
+328/328 - 43s - loss: 0.0616 - accuracy: 0.9784 - val_loss: 0.1159 - val_accuracy: 0.9679 - 43s/epoch - 131ms/step
-<keras.callbacks.History object at 0x7f316d0cbc50>
+<keras.callbacks.History object at 0x7faf28b0d710>
</pre></div>
</div>
</div>
@@ -962,7 +962,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 14.385 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes 34.416 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 313bcf0093..a056fad883 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -332,7 +332,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>05:16.959</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>05:36.473</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -341,19 +341,19 @@
</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:14.385</p></td>
+<td><p>04:34.416</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:49.836</p></td>
+<td><p>00:48.963</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><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.916</p></td>
+<td><p>00:09.374</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">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.820</p></td>
+<td><p>00:03.718</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 99919f1139..1964e0612a 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -332,7 +332,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:43.778</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:43.385</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -341,15 +341,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:32.143</p></td>
+<td><p>00:31.670</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:09.917</p></td>
+<td><p>00:10.168</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.711</p></td>
+<td><p>00:01.541</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 72608f477a..ed32856363 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -527,7 +527,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 0x7f314360b710>
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span><function my_cuda_math_rule at 0x7faead9e4f80>
</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 7476ab3d1a..8868473514 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -332,7 +332,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.853</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:06.739</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -341,23 +341,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.384</p></td>
+<td><p>00:04.408</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.084</p></td>
+<td><p>00:01.034</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.596</p></td>
+<td><p>00:00.556</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.580</p></td>
+<td><p>00:00.536</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.117</p></td>
+<td><p>00:00.113</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>
@@ -365,7 +365,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 de52617c75..f3f2fa3480 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -582,7 +582,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
buffer_map = {A_1: A, B_1: B, C_1: C}
preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
- attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpg37ih42h/input0.cc'\nsource_filename = \"/tmp/tmpg37ih42h/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/tmptgb9htck/input0.cc'\nsource_filename = \"/tmp/tmptgb9htck/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 c44b6af556..37c500fb5c 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/reference/api/doxygen/metadata_8h_source.html b/docs/reference/api/doxygen/metadata_8h_source.html
index 602897159d..2c5138b038 100644
--- a/docs/reference/api/doxygen/metadata_8h_source.html
+++ b/docs/reference/api/doxygen/metadata_8h_source.html
@@ -68,7 +68,7 @@ $(function() {
<div class="contents">
<a href="metadata_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * or more co [...]
<div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1MetadataNode_html_a164b77727f2a899717fc33f0e30ebafe"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1MetadataNode.html#a164b77727f2a899717fc33f0e30ebafe">tvm::runtime::metadata::MetadataNode::get_c_struct_name</a></div><div class="ttdeci">const char * get_c_struct_name() const override</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad78792a1e1feb160b0be4474a4c13a4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad78792a1e1feb160b0be4474a4c13a4c">tvm::runtime::NDArray::Load</a></div><div class="ttdeci">bool Load(dmlc::Stream *stream)</div><div class="ttdoc">Load NDArray from stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:489</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad78792a1e1feb160b0be4474a4c13a4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad78792a1e1feb160b0be4474a4c13a4c">tvm::runtime::NDArray::Load</a></div><div class="ttdeci">bool Load(dmlc::Stream *stream)</div><div class="ttdoc">Load NDArray from stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:498</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode_html_aae9679a8d5d63547239addeb13ba9c17"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html#aae9679a8d5d63547239addeb13ba9c17">tvm::runtime::metadata::ConstantInfoMetadataNode::name_hint</a></div><div class="ttdeci">inline ::tvm::runtime::String name_hint() const</div><div class="ttdef"><b>Definition:</b> metadata.h:113</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode_html_a9210f8966fd9cf6cb07a723ed2834b0d"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html#a9210f8966fd9cf6cb07a723ed2834b0d">tvm::runtime::metadata::ConstantInfoMetadataNode::byte_offset</a></div><div class="ttdeci">size_t byte_offset() const</div><div class="ttdef"><b>Definition:</b> metadata.h:116</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html">tvm::runtime::metadata::MetadataBaseNode</a></div><div class="ttdoc">Common base class for all Metadata. </div><div class="ttdef"><b>Definition:</b> metadata_base.h:45</div></div>
diff --git a/docs/reference/api/doxygen/ndarray_8h_source.html b/docs/reference/api/doxygen/ndarray_8h_source.html
index 36784187b7..7595d935a1 100644
--- a/docs/reference/api/doxygen/ndarray_8h_source.html
+++ b/docs/reference/api/doxygen/ndarray_8h_source.html
@@ -66,17 +66,17 @@ $(function() {
<div class="title">ndarray.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="ndarray_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * or more con [...]
+<a href="ndarray_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * or more con [...]
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ab7238434803d6a171318495fe46dc977"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ab7238434803d6a171318495fe46dc977">tvm::runtime::NDArray::ToDLPack</a></div><div class="ttdeci">DLManagedTensor * ToDLPack() const</div><div class="ttdoc">Create a reference view of NDArray that represents as DLManagedTensor. </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMRetValue_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMRetValue.html">tvm::runtime::TVMRetValue</a></div><div class="ttdoc">Return Value container, Unlike TVMArgValue, which only holds reference and do not delete the underlyi...</div><div class="ttdef"><b>Definition:</b> packed_func.h:799</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ade0e2757904f4f5ba5c667ae01793a47"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ade0e2757904f4f5ba5c667ae01793a47">tvm::runtime::NDArray::FFIDecRef</a></div><div class="ttdeci">static void FFIDecRef(TVMArrayHandle handle)</div><div class="ttdoc">DecRef resource managed by an FFI array handle. </div><div class="ttdef"><b>Definition:</b> ndarray.h:429</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ade0e2757904f4f5ba5c667ae01793a47"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ade0e2757904f4f5ba5c667ae01793a47">tvm::runtime::NDArray::FFIDecRef</a></div><div class="ttdeci">static void FFIDecRef(TVMArrayHandle handle)</div><div class="ttdoc">DecRef resource managed by an FFI array handle. </div><div class="ttdef"><b>Definition:</b> ndarray.h:438</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a87d9cadd0c232324c101f7ed231aa193"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a87d9cadd0c232324c101f7ed231aa193">tvm::runtime::NDArray::DataType</a></div><div class="ttdeci">runtime::DataType DataType() const</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1ObjectPtr_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectPtr.html">tvm::runtime::ObjectPtr</a></div><div class="ttdoc">A custom smart pointer for Object. </div><div class="ttdef"><b>Definition:</b> object.h:358</div></div>
<div class="ttc" id="optional_8h_html"><div class="ttname"><a href="optional_8h.html">optional.h</a></div><div class="ttdoc">Runtime Optional container types. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad78792a1e1feb160b0be4474a4c13a4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad78792a1e1feb160b0be4474a4c13a4c">tvm::runtime::NDArray::Load</a></div><div class="ttdeci">bool Load(dmlc::Stream *stream)</div><div class="ttdoc">Load NDArray from stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:489</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad78792a1e1feb160b0be4474a4c13a4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad78792a1e1feb160b0be4474a4c13a4c">tvm::runtime::NDArray::Load</a></div><div class="ttdeci">bool Load(dmlc::Stream *stream)</div><div class="ttdoc">Load NDArray from stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:498</div></div>
<div class="ttc" id="string_8h_html"><div class="ttname"><a href="string_8h.html">string.h</a></div><div class="ttdoc">Runtime String container types. </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMPODValue___html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMPODValue__.html">tvm::runtime::TVMPODValue_</a></div><div class="ttdoc">Internal base class to handle conversion to POD values. </div><div class="ttdef"><b>Definition:</b> packed_func.h:541</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a1550151d3616e918d45e047840b81e1e"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a1550151d3616e918d45e047840b81e1e">tvm::runtime::NDArray::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const DLTensor *other)</div><div class="ttdoc">Copy data content from another array. </div><div class="ttdef"><b>Definition:</b> ndarray.h:378</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a1550151d3616e918d45e047840b81e1e"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a1550151d3616e918d45e047840b81e1e">tvm::runtime::NDArray::CopyFrom</a></div><div class="ttdeci">void CopyFrom(const DLTensor *other)</div><div class="ttdoc">Copy data content from another array. </div><div class="ttdef"><b>Definition:</b> ndarray.h:387</div></div>
<div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a711df9392c6808f6e0ca7c35b11ee94b"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a711df9392c6808f6e0ca7c35b11ee94b">tvm::runtime::NDArray::NewFromDLTensor</a></div><div class="ttdeci">static NDArray NewFromDLTensor(DLTensor *dl_tensor, const Device &dev)</div><div class="ttdoc">Create new NDArray, data is copied from DLTensor. </div></div>
<div class="ttc" id="c__runtime__api_8h_html_a73ca58cb32f4a4adf71d274dc1e27be4"><div class="ttname"><a href="c__runtime__api_8h.html#a73ca58cb32f4a4adf71d274dc1e27be4">TVMArrayHandle</a></div><div class="ttdeci">DLTensor * TVMArrayHandle</div><div class="ttdoc">the array handle </div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:138</div></div>
@@ -85,11 +85,11 @@ $(function() {
<div class="ttc" id="classtvm_1_1runtime_1_1Object_html_ac9e5eed7719e322117bde996a171e33a"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">tvm::runtime::Object::IncRef</a></div><div class="ttdeci">void IncRef()</div><div class="ttdoc">developer function, increases reference counter. </div><div class="ttdef"><b>Definition:</b> object.h:799</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> loop_state.h:456</div></div>
<div class="ttc" id="c__runtime__api_8h_html_ae246eaa00342c042f3f194605ad9bc7a"><div class="ttname"><a href="c__runtime__api_8h.html#ae246eaa00342c042f3f194605ad9bc7a">TVMArrayCopyToBytes</a></div><div class="ttdeci">int TVMArrayCopyToBytes(TVMArrayHandle handle, void *data, size_t nbytes)</div><div class="ttdoc">Copy array data to CPU byte array. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a7b077581a4cd4b1d4f783b49ccac112b"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a7b077581a4cd4b1d4f783b49ccac112b">tvm::runtime::NDArray::CopyTo</a></div><div class="ttdeci">void CopyTo(DLTensor *other) const</div><div class="ttdoc">Copy data content into another array. </div><div class="ttdef"><b>Definition:</b> ndarray.h:389</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a7b077581a4cd4b1d4f783b49ccac112b"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a7b077581a4cd4b1d4f783b49ccac112b">tvm::runtime::NDArray::CopyTo</a></div><div class="ttdeci">void CopyTo(DLTensor *other) const</div><div class="ttdoc">Copy data content into another array. </div><div class="ttdef"><b>Definition:</b> ndarray.h:398</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a59f41733876e0a161de701de9fd60749"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a59f41733876e0a161de701de9fd60749">tvm::runtime::NDArray::Empty</a></div><div class="ttdeci">static NDArray Empty(ShapeTuple shape, DLDataType dtype, Device dev, Optional< String > mem_scope=NullOpt)</div><div class="ttdoc">Create an empty NDArray. </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a1c9d84d35af95d1c29fc5c9c2ced84c8"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a1c9d84d35af95d1c29fc5c9c2ced84c8">tvm::runtime::NDArray::IsContiguous</a></div><div class="ttdeci">bool IsContiguous() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:374</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_afdd7050eda88b079f0a962bd413a34ea"><div class="ttname"><a href="namespacetvm_1_1runtime.html#afdd7050eda88b079f0a962bd413a34ea">tvm::runtime::TVMArrayHandleToObjectHandle</a></div><div class="ttdeci">Object * TVMArrayHandleToObjectHandle(TVMArrayHandle handle)</div><div class="ttdef"><b>Definition:</b> ndarray.h:433</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a1c9d84d35af95d1c29fc5c9c2ced84c8"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a1c9d84d35af95d1c29fc5c9c2ced84c8">tvm::runtime::NDArray::IsContiguous</a></div><div class="ttdeci">bool IsContiguous() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:383</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_afdd7050eda88b079f0a962bd413a34ea"><div class="ttname"><a href="namespacetvm_1_1runtime.html#afdd7050eda88b079f0a962bd413a34ea">tvm::runtime::TVMArrayHandleToObjectHandle</a></div><div class="ttdeci">Object * TVMArrayHandleToObjectHandle(TVMArrayHandle handle)</div><div class="ttdef"><b>Definition:</b> ndarray.h:442</div></div>
<div class="ttc" id="c__runtime__api_8h_html_a775383bcd8c0237e36bdf0c9654d62c3"><div class="ttname"><a href="c__runtime__api_8h.html#a775383bcd8c0237e36bdf0c9654d62c3">TVMGetLastError</a></div><div class="ttdeci">const char * TVMGetLastError(void)</div><div class="ttdoc">return str message of the last error all function in this file will return 0 when success and nonzero...</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_af2a8ccab95d432d1ecad7a389e11bcd3"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#af2a8ccab95d432d1ecad7a389e11bcd3">tvm::runtime::NDArray::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">reset the content of NDArray to be nullptr </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a></div><div class="ttdoc">Managed NDArray. The array is backed by reference counted blocks. </div><div class="ttdef"><b>Definition:</b> ndarray.h:59</div></div>
@@ -97,15 +97,15 @@ $(function() {
<div class="ttc" id="classtvm_1_1runtime_1_1Object_html_a70fb5361147634605d6595bb89381f03"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#a70fb5361147634605d6595bb89381f03">tvm::runtime::Object::DecRef</a></div><div class="ttdeci">void DecRef()</div><div class="ttdoc">developer function, decrease reference counter. </div><div class="ttdef"><b>Definition:</b> object.h:801</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1Object_html_ad94d79729ac85aa7c976e23d39066383"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">tvm::runtime::Object::RuntimeTypeIndex</a></div><div class="ttdeci">static uint32_t RuntimeTypeIndex()</div><div class="ttdef"><b>Definition:</b> object.h:225</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ae2a878fb8c847666d2318b979714cefa"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ae2a878fb8c847666d2318b979714cefa">tvm::runtime::NDArray::CopyFromTo</a></div><div class="ttdeci">static void CopyFromTo(const DLTensor *from, DLTensor *to, TVMStreamHandle stream=nullptr)</div><div class="ttdoc">Function to copy data from one array to another. </div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_aa1e7d2346052e198b409966eb67be92b"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#aa1e7d2346052e198b409966eb67be92b">tvm::runtime::NDArray::use_count</a></div><div class="ttdeci">int use_count() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:408</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ae6f82ad564a648d21e9a2e4d0ff07b39"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ae6f82ad564a648d21e9a2e4d0ff07b39">tvm::runtime::NDArray::Save</a></div><div class="ttdeci">void Save(dmlc::Stream *stream) const</div><div class="ttdoc">Save NDArray to stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:487</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_aa1e7d2346052e198b409966eb67be92b"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#aa1e7d2346052e198b409966eb67be92b">tvm::runtime::NDArray::use_count</a></div><div class="ttdeci">int use_count() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:417</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ae6f82ad564a648d21e9a2e4d0ff07b39"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ae6f82ad564a648d21e9a2e4d0ff07b39">tvm::runtime::NDArray::Save</a></div><div class="ttdeci">void Save(dmlc::Stream *stream) const</div><div class="ttdoc">Save NDArray to stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:496</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ae0cc8db43ff078f6b0d8054447110ac2"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ae0cc8db43ff078f6b0d8054447110ac2">tvm::runtime::NDArray::AbilityOfZeroCopyForDLTensor</a></div><div class="ttdeci">static bool AbilityOfZeroCopyForDLTensor(DLTensor *tensor, const Device &dev)</div><div class="ttdoc">Check conditions for construction NDArray over DLTensor without copying. There are three conditions t...</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad57933f49a9fd51d7f996e1b16ffd2e0"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad57933f49a9fd51d7f996e1b16ffd2e0">tvm::runtime::NDArray::operator-></a></div><div class="ttdeci">const DLTensor * operator->() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:410</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ab76ba9c638e1d6db8d6f0ba8c4d38670"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ab76ba9c638e1d6db8d6f0ba8c4d38670">tvm::runtime::NDArray::FFIDataFromHandle</a></div><div class="ttdeci">static ObjectPtr< Object > FFIDataFromHandle(TVMArrayHandle handle)</div><div class="ttdoc">Construct NDArray&#39;s Data field from array handle in FFI. </div><div class="ttdef"><b>Definition:</b> ndarray.h:416</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad57933f49a9fd51d7f996e1b16ffd2e0"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad57933f49a9fd51d7f996e1b16ffd2e0">tvm::runtime::NDArray::operator-></a></div><div class="ttdeci">const DLTensor * operator->() const</div><div class="ttdef"><b>Definition:</b> ndarray.h:419</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ab76ba9c638e1d6db8d6f0ba8c4d38670"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ab76ba9c638e1d6db8d6f0ba8c4d38670">tvm::runtime::NDArray::FFIDataFromHandle</a></div><div class="ttdeci">static ObjectPtr< Object > FFIDataFromHandle(TVMArrayHandle handle)</div><div class="ttdoc">Construct NDArray&#39;s Data field from array handle in FFI. </div><div class="ttdef"><b>Definition:</b> ndarray.h:425</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_af5801a105ceb450616a83d19c5c92326"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#af5801a105ceb450616a83d19c5c92326">tvm::runtime::NDArray::NDArray</a></div><div class="ttdeci">NDArray(ObjectPtr< Object > data)</div><div class="ttdoc">constructor. </div><div class="ttdef"><b>Definition:</b> ndarray.h:73</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1DataType_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html">tvm::runtime::DataType</a></div><div class="ttdoc">Runtime primitive data type. </div><div class="ttdef"><b>Definition:</b> data_type.h:41</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad273c7bc59b73fb026fd64fc764cbebc"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad273c7bc59b73fb026fd64fc764cbebc">tvm::runtime::NDArray::Shape</a></div><div class="ttdeci">ShapeTuple Shape() const</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad5d21a1d7a704bfc9504d28910748d39"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad5d21a1d7a704bfc9504d28910748d39">tvm::runtime::NDArray::get_mutable</a></div><div class="ttdeci">Container * get_mutable() const</div><div class="ttdoc">Get mutable internal container pointer. </div><div class="ttdef"><b>Definition:</b> ndarray.h:412</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ad5d21a1d7a704bfc9504d28910748d39"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ad5d21a1d7a704bfc9504d28910748d39">tvm::runtime::NDArray::get_mutable</a></div><div class="ttdeci">Container * get_mutable() const</div><div class="ttdoc">Get mutable internal container pointer. </div><div class="ttdef"><b>Definition:</b> ndarray.h:421</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_1_1Container_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">tvm::runtime::NDArray::Container</a></div><div class="ttdoc">Object container class that backs NDArray. </div><div class="ttdef"><b>Definition:</b> ndarray.h:294</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_1_1Container_html_a5f3c42a1a5d71d914d3ca326553e4f79"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray_1_1Container.html#a5f3c42a1a5d71d914d3ca326553e4f79">tvm::runtime::NDArray::Container::Container</a></div><div class="ttdeci">Container(void *data, ShapeTuple shape, DLDataType dtype, Device dev)</div><div class="ttdef"><b>Definition:</b> ndarray.h:307</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html_ac261cdb80487fb29ac42b28678f8cbef"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html#ac261cdb80487fb29ac42b28678f8cbef">tvm::runtime::ObjectRef::data_</a></div><div class="ttdeci">ObjectPtr< Object > data_</div><div class="ttdoc">Internal pointer that backs the reference. </div><div class="ttdef"><b>Definition:</b> object.h:574</div></div>
@@ -120,15 +120,15 @@ $(function() {
<div class="ttc" id="shape__tuple_8h_html"><div class="ttname"><a href="shape__tuple_8h.html">shape_tuple.h</a></div><div class="ttdoc">Runtime ShapeTuple container types. </div></div>
<div class="ttc" id="object_8h_html"><div class="ttname"><a href="object_8h.html">object.h</a></div><div class="ttdoc">A managed object in the TVM runtime. </div></div>
<div class="ttc" id="data__type_8h_html"><div class="ttname"><a href="data__type_8h.html">data_type.h</a></div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a141e032d848c60f8261046304bdc8c4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a141e032d848c60f8261046304bdc8c4c">tvm::runtime::NDArray::FFIGetHandle</a></div><div class="ttdeci">static TVMArrayHandle FFIGetHandle(const ObjectRef &nd)</div><div class="ttdoc">Get FFI Array handle from ndarray. </div><div class="ttdef"><b>Definition:</b> ndarray.h:421</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a141e032d848c60f8261046304bdc8c4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a141e032d848c60f8261046304bdc8c4c">tvm::runtime::NDArray::FFIGetHandle</a></div><div class="ttdeci">static TVMArrayHandle FFIGetHandle(const ObjectRef &nd)</div><div class="ttdoc">Get FFI Array handle from ndarray. </div><div class="ttdef"><b>Definition:</b> ndarray.h:430</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_1_1Container_html_a39b39ce5a2a658b44944381f1835404a"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray_1_1Container.html#a39b39ce5a2a658b44944381f1835404a">tvm::runtime::NDArray::Container::Container</a></div><div class="ttdeci">Container()</div><div class="ttdoc">default constructor </div><div class="ttdef"><b>Definition:</b> ndarray.h:297</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_acf4599f17bfe79ae1fe8afc1af053b43"><div class="ttname"><a href="namespacetvm_1_1runtime.html#acf4599f17bfe79ae1fe8afc1af053b43">tvm::runtime::kTVMNDArrayMagic</a></div><div class="ttdeci">constexpr uint64_t kTVMNDArrayMagic</div><div class="ttdoc">Magic number for NDArray file. </div><div class="ttdef"><b>Definition:</b> ndarray.h:438</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_acf4599f17bfe79ae1fe8afc1af053b43"><div class="ttname"><a href="namespacetvm_1_1runtime.html#acf4599f17bfe79ae1fe8afc1af053b43">tvm::runtime::kTVMNDArrayMagic</a></div><div class="ttdeci">constexpr uint64_t kTVMNDArrayMagic</div><div class="ttdoc">Magic number for NDArray file. </div><div class="ttdef"><b>Definition:</b> ndarray.h:447</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a4bbb80e8e36317829dd63e7f44ffbb0f"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a4bbb80e8e36317829dd63e7f44ffbb0f">tvm::runtime::NDArray::NDArray</a></div><div class="ttdeci">NDArray()</div><div class="ttdoc">default constructor </div><div class="ttdef"><b>Definition:</b> ndarray.h:68</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1ShapeTuple_html_aea4f2fe4a3b8d36cb88193298f346228"><div class="ttname"><a href="classtvm_1_1runtime_1_1ShapeTuple.html#aea4f2fe4a3b8d36cb88193298f346228">tvm::runtime::ShapeTuple::index_type</a></div><div class="ttdeci">ShapeTupleObj::index_type index_type</div><div class="ttdoc">The type of shape index element. </div><div class="ttdef"><b>Definition:</b> shape_tuple.h:84</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_af4d489a1208be9cc4248b592769bccf2"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#af4d489a1208be9cc4248b592769bccf2">tvm::runtime::NDArray::CopyFromBytes</a></div><div class="ttdeci">void CopyFromBytes(const void *data, size_t nbytes)</div><div class="ttdoc">Copy data content from a byte buffer. </div></div>
<div class="ttc" id="namespacetvm_html_a0da40d3e210aa3b38a17982a7b7866b8"><div class="ttname"><a href="namespacetvm.html#a0da40d3e210aa3b38a17982a7b7866b8">tvm::ret</a></div><div class="ttdeci">PrimExpr ret(PrimExpr value, Span span=Span())</div><div class="ttdoc">Return the value. </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1Optional_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Optional.html">tvm::runtime::Optional</a></div><div class="ttdoc">Optional container that to represent to a Nullable variant of T. </div><div class="ttdef"><b>Definition:</b> optional.h:51</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_a8fb37910dcd9bb6899e6a3a47f006514"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a8fb37910dcd9bb6899e6a3a47f006514">tvm::runtime::SaveDLTensor</a></div><div class="ttdeci">bool SaveDLTensor(dmlc::Stream *strm, const DLTensor *tensor)</div><div class="ttdoc">Save a DLTensor to stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:440</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_a8fb37910dcd9bb6899e6a3a47f006514"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a8fb37910dcd9bb6899e6a3a47f006514">tvm::runtime::SaveDLTensor</a></div><div class="ttdeci">bool SaveDLTensor(dmlc::Stream *strm, const DLTensor *tensor)</div><div class="ttdoc">Save a DLTensor to stream. </div><div class="ttdef"><b>Definition:</b> ndarray.h:449</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_abec485628a0ca451b668c42fd8fa691a"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#abec485628a0ca451b668c42fd8fa691a">tvm::runtime::NDArray::FromDLPack</a></div><div class="ttdeci">static NDArray FromDLPack(DLManagedTensor *tensor)</div><div class="ttdoc">Create a NDArray backed by a dlpack tensor. </div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMArgsSetter_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgsSetter.html">tvm::runtime::TVMArgsSetter</a></div><div class="ttdef"><b>Definition:</b> packed_func.h:1514</div></div>
<div class="ttc" id="namespacetvm_html_aae7034e3e41c18e7fb78ff32bfc6a318"><div class="ttname"><a href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">tvm::NullOpt</a></div><div class="ttdeci">constexpr runtime::NullOptType NullOpt</div><div class="ttdef"><b>Definition:</b> optional.h:160</div></div>
diff --git a/docs/reference/api/doxygen/packed__func_8h_source.html b/docs/reference/api/doxygen/packed__func_8h_source.html
index 57eabe813c..9319e276c5 100644
--- a/docs/reference/api/doxygen/packed__func_8h_source.html
+++ b/docs/reference/api/doxygen/packed__func_8h_source.html
@@ -75,7 +75,7 @@ $(function() {
<div class="ttc" id="classtvm_1_1runtime_1_1ArrayNode_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ArrayNode.html">tvm::runtime::ArrayNode</a></div><div class="ttdoc">array node content in array </div><div class="ttdef"><b>Definition:</b> array.h:40</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMRetValue_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMRetValue.html">tvm::runtime::TVMRetValue</a></div><div class="ttdoc">Return Value container, Unlike TVMArgValue, which only holds reference and do not delete the underlyi...</div><div class="ttdef"><b>Definition:</b> packed_func.h:799</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1Module_html_a1233f7b896bb299ef07f9e41a4ffdc17"><div class="ttname"><a href="classtvm_1_1runtime_1_1Module.html#a1233f7b896bb299ef07f9e41a4ffdc17">tvm::runtime::Module::GetFunction</a></div><div class="ttdeci">PackedFunc GetFunction(const std::string &name, bool query_imports=false)</div><div class="ttdoc">Get packed function from current module by name. </div><div class="ttdef"><b>Definition:</b> packed_func.h:1937</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ade0e2757904f4f5ba5c667ae01793a47"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ade0e2757904f4f5ba5c667ae01793a47">tvm::runtime::NDArray::FFIDecRef</a></div><div class="ttdeci">static void FFIDecRef(TVMArrayHandle handle)</div><div class="ttdoc">DecRef resource managed by an FFI array handle. </div><div class="ttdef"><b>Definition:</b> ndarray.h:429</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ade0e2757904f4f5ba5c667ae01793a47"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ade0e2757904f4f5ba5c667ae01793a47">tvm::runtime::NDArray::FFIDecRef</a></div><div class="ttdeci">static void FFIDecRef(TVMArrayHandle handle)</div><div class="ttdoc">DecRef resource managed by an FFI array handle. </div><div class="ttdef"><b>Definition:</b> ndarray.h:438</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMRetValue_html_ae47baae854e2ff66d0ef87178727d8f4"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMRetValue.html#ae47baae854e2ff66d0ef87178727d8f4">tvm::runtime::TVMRetValue::operator=</a></div><div class="ttdeci">TVMRetValue & operator=(TVMMovableArgValue_ &&other)</div><div class="ttdef"><b>Definition:</b> packed_func.h:940</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMArgsSetter_html_a4c6dffcee3ea29b0b5862f1cc42c5c1c"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgsSetter.html#a4c6dffcee3ea29b0b5862f1cc42c5c1c">tvm::runtime::TVMArgsSetter::operator()</a></div><div class="ttdeci">TVM_ALWAYS_INLINE void operator()(size_t i, TObjectRef &&value) const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1596</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMRetValue_html_a74ea2767d491c57cb9c71e26ee934344"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMRetValue.html#a74ea2767d491c57cb9c71e26ee934344">tvm::runtime::TVMRetValue::MoveToCHost</a></div><div class="ttdeci">void MoveToCHost(TVMValue *ret_value, int *ret_type_code)</div><div class="ttdoc">Move the value back to front-end via C API. This marks the current container as null. The managed resources are moved to the front-end. The fr [...]
@@ -113,7 +113,7 @@ $(function() {
<div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
<div class="ttc" id="c__runtime__api_8h_html_a190e81769e805cca153514137a66e793abe76912731a3c65bd7cdd9ab9a462c66"><div class="ttname"><a href="c__runtime__api_8h.html#a190e81769e805cca153514137a66e793abe76912731a3c65bd7cdd9ab9a462c66">kTVMObjectHandle</a></div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:118</div></div>
<div class="ttc" id="structTVMByteArray_html_ab124e3227a75e0e4d55452f675f4fde1"><div class="ttname"><a href="structTVMByteArray.html#ab124e3227a75e0e4d55452f675f4fde1">TVMByteArray::data</a></div><div class="ttdeci">const char * data</div><div class="ttdef"><b>Definition:</b> c_runtime_api.h:158</div></div>
-<div class="ttc" id="namespacetvm_1_1runtime_html_afdd7050eda88b079f0a962bd413a34ea"><div class="ttname"><a href="namespacetvm_1_1runtime.html#afdd7050eda88b079f0a962bd413a34ea">tvm::runtime::TVMArrayHandleToObjectHandle</a></div><div class="ttdeci">Object * TVMArrayHandleToObjectHandle(TVMArrayHandle handle)</div><div class="ttdef"><b>Definition:</b> ndarray.h:433</div></div>
+<div class="ttc" id="namespacetvm_1_1runtime_html_afdd7050eda88b079f0a962bd413a34ea"><div class="ttname"><a href="namespacetvm_1_1runtime.html#afdd7050eda88b079f0a962bd413a34ea">tvm::runtime::TVMArrayHandleToObjectHandle</a></div><div class="ttdeci">Object * TVMArrayHandleToObjectHandle(TVMArrayHandle handle)</div><div class="ttdef"><b>Definition:</b> ndarray.h:442</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMPODValue___html_a8ffdfcc7099faf19ee07a5c03ce06af8"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMPODValue__.html#a8ffdfcc7099faf19ee07a5c03ce06af8">tvm::runtime::TVMPODValue_::value_</a></div><div class="ttdeci">TVMValue value_</div><div class="ttdoc">The value. </div><div class="ttdef"><b>Definition:</b> packed_func.h:635</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMRetValue_html_a77455a8fe7d27b90a01a64f1cd28e9ec"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMRetValue.html#a77455a8fe7d27b90a01a64f1cd28e9ec">tvm::runtime::TVMRetValue::TVMRetValue</a></div><div class="ttdeci">TVMRetValue()</div><div class="ttdoc">default constructor </div><div class="ttdef"><b>Definition:</b> packed_func.h:802</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a></div><div class="ttdoc">Managed NDArray. The array is backed by reference counted blocks. </div><div class="ttdef"><b>Definition:</b> ndarray.h:59</div></div>
@@ -138,7 +138,7 @@ $(function() {
<div class="ttc" id="ndarray_8h_html"><div class="ttname"><a href="ndarray_8h.html">ndarray.h</a></div><div class="ttdoc">A device-independent managed NDArray abstraction. </div></div>
<div class="ttc" id="namespacetvm_1_1runtime_html_a277f104e659f71cd8885744700016341"><div class="ttname"><a href="namespacetvm_1_1runtime.html#a277f104e659f71cd8885744700016341">tvm::runtime::String2DLDataType</a></div><div class="ttdeci">DLDataType String2DLDataType(std::string s)</div><div class="ttdoc">convert a string to TVM type. </div><div class="ttdef"><b>Definition:</b> data_type.h:349</div></div>
<div class="ttc" id="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4_html_a9ac48d52f86dc3718590acc119e88741"><div class="ttname"><a href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4.html#a9ac48d52f86dc3718590acc119e88741">tvm::runtime::PackedFuncValueConverter<::tvm::runtime::String >::From</a></div><div class="ttdeci">static String From(const TVMRetValue &val)</div><div class="ttdef"><b>Definition:</b> [...]
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ab76ba9c638e1d6db8d6f0ba8c4d38670"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ab76ba9c638e1d6db8d6f0ba8c4d38670">tvm::runtime::NDArray::FFIDataFromHandle</a></div><div class="ttdeci">static ObjectPtr< Object > FFIDataFromHandle(TVMArrayHandle handle)</div><div class="ttdoc">Construct NDArray&#39;s Data field from array handle in FFI. </div><div class="ttdef"><b>Definition:</b> ndarray.h:416</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_ab76ba9c638e1d6db8d6f0ba8c4d38670"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#ab76ba9c638e1d6db8d6f0ba8c4d38670">tvm::runtime::NDArray::FFIDataFromHandle</a></div><div class="ttdeci">static ObjectPtr< Object > FFIDataFromHandle(TVMArrayHandle handle)</div><div class="ttdoc">Construct NDArray&#39;s Data field from array handle in FFI. </div><div class="ttdef"><b>Definition:</b> ndarray.h:425</div></div>
<div class="ttc" id="structtvm_1_1runtime_1_1ObjectTypeChecker_html"><div class="ttname"><a href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">tvm::runtime::ObjectTypeChecker</a></div><div class="ttdoc">Type traits for runtime type check during FFI conversion. </div><div class="ttdef"><b>Definition:</b> packed_func.h:430</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMPODValue___html_a67fdc41da2d772f61a924b8fa2d820e5"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMPODValue__.html#a67fdc41da2d772f61a924b8fa2d820e5">tvm::runtime::TVMPODValue_::IsObjectRef</a></div><div class="ttdeci">bool IsObjectRef() const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1792</div></div>
<div class="ttc" id="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4_html_a6748e04a16945df4c15edb53d0aaba70"><div class="ttname"><a href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html#a6748e04a16945df4c15edb53d0aaba70">tvm::runtime::PackedFuncValueConverter< Optional< T > >::From</a></div><div class="ttdeci">static Optional< T > From(const TVMArgValue &val)</div><div class="ttdef"><b>Definition:</b> [...]
@@ -201,7 +201,7 @@ $(function() {
<div class="ttc" id="object_8h_html"><div class="ttname"><a href="object_8h.html">object.h</a></div><div class="ttdoc">A managed object in the TVM runtime. </div></div>
<div class="ttc" id="data__type_8h_html"><div class="ttname"><a href="data__type_8h.html">data_type.h</a></div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMArgsSetter_html_af0f7e76657fd06170c6347f47a42a342"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgsSetter.html#af0f7e76657fd06170c6347f47a42a342">tvm::runtime::TVMArgsSetter::operator()</a></div><div class="ttdeci">TVM_ALWAYS_INLINE void operator()(size_t i, const TVMArgValue &value) const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1536</div></div>
-<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a141e032d848c60f8261046304bdc8c4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a141e032d848c60f8261046304bdc8c4c">tvm::runtime::NDArray::FFIGetHandle</a></div><div class="ttdeci">static TVMArrayHandle FFIGetHandle(const ObjectRef &nd)</div><div class="ttdoc">Get FFI Array handle from ndarray. </div><div class="ttdef"><b>Definition:</b> ndarray.h:421</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1NDArray_html_a141e032d848c60f8261046304bdc8c4c"><div class="ttname"><a href="classtvm_1_1runtime_1_1NDArray.html#a141e032d848c60f8261046304bdc8c4c">tvm::runtime::NDArray::FFIGetHandle</a></div><div class="ttdeci">static TVMArrayHandle FFIGetHandle(const ObjectRef &nd)</div><div class="ttdoc">Get FFI Array handle from ndarray. </div><div class="ttdef"><b>Definition:</b> ndarray.h:430</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TVMArgsSetter_html_a46970e7b592c6bc08278ba7774ceb3be"><div class="ttname"><a href="classtvm_1_1runtime_1_1TVMArgsSetter.html#a46970e7b592c6bc08278ba7774ceb3be">tvm::runtime::TVMArgsSetter::operator()</a></div><div class="ttdeci">void operator()(size_t i, const TVMRetValue &value) const</div><div class="ttdef"><b>Definition:</b> packed_func.h:1576</div></div>
<div class="ttc" id="runtime_2module_8h_html"><div class="ttname"><a href="runtime_2module_8h.html">module.h</a></div><div class="ttdoc">Runtime container of the functions generated by TVM, This is used to support dynamically link...</div></div>
<div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4_html_a0e4a4d01d86eca79c5d9e1e90322c5cb"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a0e4a4d01d86eca79c5d9e1e90322c5cb">tvm::runtime::TypedPackedFunc< R(Args...)>::operator==</a></div><div class="ttdeci">bool operator==(std::nullptr_t null) const</div><div class="ttdef"><b>Definition:</b> packed_func.h:360</div></div>
diff --git a/docs/reference/api/python/auto_scheduler.html b/docs/reference/api/python/auto_scheduler.html
index 0fa87162b4..250bbf8ae1 100644
--- a/docs/reference/api/python/auto_scheduler.html
+++ b/docs/reference/api/python/auto_scheduler.html
@@ -1607,7 +1607,7 @@ history states as starting point to perform Evolutionary Search).</p></li>
<dl class="py class">
<dt class="sig sig-object py" id="tvm.auto_scheduler.SketchPolicy">
-<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">SketchPolicy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_cost_model</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
<dd><p>The search policy that searches in a hierarchical search space defined by sketches.
The policy randomly samples programs from the space defined by sketches and use evolutionary
search to fine-tune them.</p>
@@ -1891,7 +1891,7 @@ Candidates:
<dl class="py function">
<dt class="sig sig-object py" id="tvm.auto_scheduler.auto_schedule">
-<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
+<span class="sig-prename descclassname"><span class="pre">tvm.auto_scheduler.</span></span><span class="sig-name descname"><span class="pre">auto_schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_policy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em clas [...]
<dd><p>THIS API IS DEPRECATED.</p>
<p>Run auto scheduling search for a task.</p>
<dl class="field-list simple">
diff --git a/docs/reference/api/typedoc/classes/bytestreamreader.html b/docs/reference/api/typedoc/classes/bytestreamreader.html
index 881308dfc4..f2c7be8803 100644
--- a/docs/reference/api/typedoc/classes/bytestreamreader.html
+++ b/docs/reference/api/typedoc/classes/bytestreamreader.html
@@ -119,7 +119,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -141,7 +141,7 @@
<div class="tsd-signature tsd-kind-icon">bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L43">rpc_server.ts:43</a></li>
</ul>
</aside>
</section>
@@ -151,7 +151,7 @@
<div class="tsd-signature tsd-kind-icon">offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L42">rpc_server.ts:42</a></li>
</ul>
</aside>
</section>
@@ -168,7 +168,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L63">rpc_server.ts:63</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4>
@@ -185,7 +185,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L49">rpc_server.ts:49</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -202,7 +202,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L57">rpc_server.ts:57</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/cachedcallstack.html b/docs/reference/api/typedoc/classes/cachedcallstack.html
index 83e958135a..9f90fc8e22 100644
--- a/docs/reference/api/typedoc/classes/cachedcallstack.html
+++ b/docs/reference/api/typedoc/classes/cachedcallstack.html
@@ -144,7 +144,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L223">memory.ts:223</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L223">memory.ts:223</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -172,7 +172,7 @@
<div class="tsd-signature tsd-kind-icon">temp<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = []</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L208">memory.ts:208</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L208">memory.ts:208</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -194,7 +194,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L312">memory.ts:312</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L312">memory.ts:312</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -226,7 +226,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L284">memory.ts:284</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L284">memory.ts:284</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -262,7 +262,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L388">memory.ts:388</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L388">memory.ts:388</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -300,7 +300,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L376">memory.ts:376</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L376">memory.ts:376</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -340,7 +340,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L267">memory.ts:267</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L267">memory.ts:267</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -373,7 +373,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L243">memory.ts:243</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L243">memory.ts:243</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -390,7 +390,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L321">memory.ts:321</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L321">memory.ts:321</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -422,7 +422,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L252">memory.ts:252</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L252">memory.ts:252</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -444,7 +444,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L359">memory.ts:359</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L359">memory.ts:359</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -470,7 +470,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L342">memory.ts:342</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L342">memory.ts:342</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -496,7 +496,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L350">memory.ts:350</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L350">memory.ts:350</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -522,7 +522,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L326">memory.ts:326</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L326">memory.ts:326</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -548,7 +548,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L363">memory.ts:363</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L363">memory.ts:363</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -574,7 +574,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L346">memory.ts:346</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L346">memory.ts:346</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -600,7 +600,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L334">memory.ts:334</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L334">memory.ts:334</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
diff --git a/docs/reference/api/typedoc/classes/dldatatype.html b/docs/reference/api/typedoc/classes/dldatatype.html
index 5d74bcf7ac..0c9a6ccbcc 100644
--- a/docs/reference/api/typedoc/classes/dldatatype.html
+++ b/docs/reference/api/typedoc/classes/dldatatype.html
@@ -119,7 +119,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L262">runtime.ts:262</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
<div class="tsd-signature tsd-kind-icon">bits<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L260">runtime.ts:260</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L260">runtime.ts:260</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
<div class="tsd-signature tsd-kind-icon">code<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L258">runtime.ts:258</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L258">runtime.ts:258</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -177,7 +177,7 @@
<div class="tsd-signature tsd-kind-icon">lanes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L262">runtime.ts:262</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L262">runtime.ts:262</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -199,7 +199,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L279">runtime.ts:279</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L279">runtime.ts:279</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -216,7 +216,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L270">runtime.ts:270</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L270">runtime.ts:270</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/dldevice.html b/docs/reference/api/typedoc/classes/dldevice.html
index c37fb29db2..74e474f140 100644
--- a/docs/reference/api/typedoc/classes/dldevice.html
+++ b/docs/reference/api/typedoc/classes/dldevice.html
@@ -118,7 +118,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L202">runtime.ts:202</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L202">runtime.ts:202</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -146,7 +146,7 @@
<div class="tsd-signature tsd-kind-icon">device<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L200">runtime.ts:200</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L200">runtime.ts:200</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -161,7 +161,7 @@
<div class="tsd-signature tsd-kind-icon">device<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L198">runtime.ts:198</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L198">runtime.ts:198</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -183,7 +183,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L223">runtime.ts:223</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L223">runtime.ts:223</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -205,7 +205,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L230">runtime.ts:230</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L230">runtime.ts:230</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
diff --git a/docs/reference/api/typedoc/classes/environment.html b/docs/reference/api/typedoc/classes/environment.html
index 0fdfdcbe84..c5cca99ced 100644
--- a/docs/reference/api/typedoc/classes/environment.html
+++ b/docs/reference/api/typedoc/classes/environment.html
@@ -125,7 +125,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L86">environment.ts:86</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L86">environment.ts:86</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -169,7 +169,7 @@
<aside class="tsd-sources">
<p>Implementation of <a href="../interfaces/libraryprovider.html">LibraryProvider</a>.<a href="../interfaces/libraryprovider.html#imports">imports</a></p>
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L70">environment.ts:70</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L70">environment.ts:70</a></li>
</ul>
</aside>
</section>
@@ -179,7 +179,7 @@
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L69">environment.ts:69</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L69">environment.ts:69</a></li>
</ul>
</aside>
<div class="tsd-type-declaration">
@@ -210,7 +210,7 @@
<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ctypes.FTVMWasmPackedCFunc</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = [undefined,]</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L78">environment.ts:78</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L78">environment.ts:78</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -228,7 +228,7 @@
<div class="tsd-signature tsd-kind-icon">packedCFunc<wbr>Table<wbr>Free<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = []</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L84">environment.ts:84</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L84">environment.ts:84</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -250,7 +250,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L105">environment.ts:105</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L105">environment.ts:105</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ffilibrary.html b/docs/reference/api/typedoc/classes/ffilibrary.html
index 616b52bf39..e3d46b0950 100644
--- a/docs/reference/api/typedoc/classes/ffilibrary.html
+++ b/docs/reference/api/typedoc/classes/ffilibrary.html
@@ -131,7 +131,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L49">runtime.ts:49</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L49">runtime.ts:49</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -156,7 +156,7 @@
<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L46">runtime.ts:46</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L46">runtime.ts:46</a></li>
</ul>
</aside>
</section>
@@ -166,7 +166,7 @@
<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L45">runtime.ts:45</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L45">runtime.ts:45</a></li>
</ul>
</aside>
</section>
@@ -176,7 +176,7 @@
<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L44">runtime.ts:44</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L44">runtime.ts:44</a></li>
</ul>
</aside>
</section>
@@ -186,7 +186,7 @@
<div class="tsd-signature tsd-kind-icon">webGPUContext<span class="tsd-signature-symbol">:</span> <a href="webgpucontext.html" class="tsd-signature-type">WebGPUContext</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L47">runtime.ts:47</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L47">runtime.ts:47</a></li>
</ul>
</aside>
</section>
@@ -203,7 +203,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L76">runtime.ts:76</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L76">runtime.ts:76</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -226,7 +226,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L66">runtime.ts:66</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L66">runtime.ts:66</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -243,7 +243,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L84">runtime.ts:84</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L84">runtime.ts:84</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <a href="cachedcallstack.html" class="tsd-signature-type">CachedCallStack</a></h4>
@@ -260,7 +260,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L95">runtime.ts:95</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L95">runtime.ts:95</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -283,7 +283,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L72">runtime.ts:72</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L72">runtime.ts:72</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
diff --git a/docs/reference/api/typedoc/classes/graphexecutor.html b/docs/reference/api/typedoc/classes/graphexecutor.html
index c71485c19d..8a15ad2309 100644
--- a/docs/reference/api/typedoc/classes/graphexecutor.html
+++ b/docs/reference/api/typedoc/classes/graphexecutor.html
@@ -130,7 +130,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L583">runtime.ts:583</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L583">runtime.ts:583</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -162,7 +162,7 @@
<div class="tsd-signature tsd-kind-icon">module<span class="tsd-signature-symbol">:</span> <a href="module.html" class="tsd-signature-type">Module</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L579">runtime.ts:579</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L579">runtime.ts:579</a></li>
</ul>
</aside>
</section>
@@ -179,7 +179,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L654">runtime.ts:654</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L654">runtime.ts:654</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -224,7 +224,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L597">runtime.ts:597</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L597">runtime.ts:597</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -241,7 +241,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L631">runtime.ts:631</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L631">runtime.ts:631</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -279,7 +279,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L644">runtime.ts:644</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L644">runtime.ts:644</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -310,7 +310,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L621">runtime.ts:621</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L621">runtime.ts:621</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -332,7 +332,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L609">runtime.ts:609</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L609">runtime.ts:609</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/instance.html b/docs/reference/api/typedoc/classes/instance.html
index 2bc74227de..777d97b6ad 100644
--- a/docs/reference/api/typedoc/classes/instance.html
+++ b/docs/reference/api/typedoc/classes/instance.html
@@ -139,7 +139,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L692">runtime.ts:692</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L692">runtime.ts:692</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -202,7 +202,7 @@
<div class="tsd-signature tsd-kind-icon">exports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L684">runtime.ts:684</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L684">runtime.ts:684</a></li>
</ul>
</aside>
</section>
@@ -212,7 +212,7 @@
<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L683">runtime.ts:683</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L683">runtime.ts:683</a></li>
</ul>
</aside>
</section>
@@ -229,7 +229,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L932">runtime.ts:932</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L932">runtime.ts:932</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -260,7 +260,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L994">runtime.ts:994</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L994">runtime.ts:994</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -303,7 +303,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L924">runtime.ts:924</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L924">runtime.ts:924</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -341,7 +341,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L732">runtime.ts:732</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L732">runtime.ts:732</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -358,7 +358,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L952">runtime.ts:952</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L952">runtime.ts:952</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -402,7 +402,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L816">runtime.ts:816</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L816">runtime.ts:816</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -434,7 +434,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L1033">runtime.ts:1033</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -465,7 +465,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L846">runtime.ts:846</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L846">runtime.ts:846</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -497,7 +497,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L750">runtime.ts:750</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L750">runtime.ts:750</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -520,7 +520,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L1013">runtime.ts:1013</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -568,7 +568,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L789">runtime.ts:789</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L789">runtime.ts:789</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -608,7 +608,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L914">runtime.ts:914</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L914">runtime.ts:914</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -646,7 +646,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L1145">runtime.ts:1145</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L1145">runtime.ts:1145</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -698,7 +698,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L740">runtime.ts:740</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L740">runtime.ts:740</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -722,7 +722,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L868">runtime.ts:868</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L868">runtime.ts:868</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -754,7 +754,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L857">runtime.ts:857</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L857">runtime.ts:857</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -786,7 +786,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L940">runtime.ts:940</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L940">runtime.ts:940</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/memory.html b/docs/reference/api/typedoc/classes/memory.html
index bcd918b0ae..a418ea5958 100644
--- a/docs/reference/api/typedoc/classes/memory.html
+++ b/docs/reference/api/typedoc/classes/memory.html
@@ -130,7 +130,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L40">memory.ts:40</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L40">memory.ts:40</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -152,7 +152,7 @@
<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Memory</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L32">memory.ts:32</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L32">memory.ts:32</a></li>
</ul>
</aside>
</section>
@@ -162,7 +162,7 @@
<div class="tsd-signature tsd-kind-icon">wasm32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L33">memory.ts:33</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L33">memory.ts:33</a></li>
</ul>
</aside>
</section>
@@ -179,7 +179,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L154">memory.ts:154</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L154">memory.ts:154</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -210,7 +210,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L90">memory.ts:90</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L90">memory.ts:90</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -233,7 +233,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L97">memory.ts:97</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L97">memory.ts:97</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -256,7 +256,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L74">memory.ts:74</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L74">memory.ts:74</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -279,7 +279,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L81">memory.ts:81</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L81">memory.ts:81</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -302,7 +302,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L104">memory.ts:104</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L104">memory.ts:104</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -325,7 +325,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L132">memory.ts:132</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L132">memory.ts:132</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -362,7 +362,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L145">memory.ts:145</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L145">memory.ts:145</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -393,7 +393,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L60">memory.ts:60</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L60">memory.ts:60</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -416,7 +416,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L67">memory.ts:67</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L67">memory.ts:67</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -439,7 +439,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L53">memory.ts:53</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L53">memory.ts:53</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -462,7 +462,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L114">memory.ts:114</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L114">memory.ts:114</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -485,7 +485,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L124">memory.ts:124</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L124">memory.ts:124</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
@@ -502,7 +502,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/memory.ts#L175">memory.ts:175</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/memory.ts#L175">memory.ts:175</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/module.html b/docs/reference/api/typedoc/classes/module.html
index 332fc3f75b..1bc0910938 100644
--- a/docs/reference/api/typedoc/classes/module.html
+++ b/docs/reference/api/typedoc/classes/module.html
@@ -124,7 +124,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L504">runtime.ts:504</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L504">runtime.ts:504</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -170,7 +170,7 @@
<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L502">runtime.ts:502</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L502">runtime.ts:502</a></li>
</ul>
</aside>
</section>
@@ -187,7 +187,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L516">runtime.ts:516</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L516">runtime.ts:516</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -204,7 +204,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L530">runtime.ts:530</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L530">runtime.ts:530</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -236,7 +236,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L561">runtime.ts:561</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L561">runtime.ts:561</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/ndarray.html b/docs/reference/api/typedoc/classes/ndarray.html
index 689d9108dd..8796d971e9 100644
--- a/docs/reference/api/typedoc/classes/ndarray.html
+++ b/docs/reference/api/typedoc/classes/ndarray.html
@@ -130,7 +130,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L304">runtime.ts:304</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L304">runtime.ts:304</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -158,7 +158,7 @@
<div class="tsd-signature tsd-kind-icon">device<span class="tsd-signature-symbol">:</span> <a href="dldevice.html" class="tsd-signature-type">DLDevice</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L297">runtime.ts:297</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L297">runtime.ts:297</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -173,7 +173,7 @@
<div class="tsd-signature tsd-kind-icon">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L293">runtime.ts:293</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L293">runtime.ts:293</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -188,7 +188,7 @@
<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L289">runtime.ts:289</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L289">runtime.ts:289</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
<div class="tsd-signature tsd-kind-icon">ndim<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L291">runtime.ts:291</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L291">runtime.ts:291</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -218,7 +218,7 @@
<div class="tsd-signature tsd-kind-icon">shape<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L295">runtime.ts:295</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L295">runtime.ts:295</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -240,7 +240,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L370">runtime.ts:370</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L370">runtime.ts:370</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -273,7 +273,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L414">runtime.ts:414</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L414">runtime.ts:414</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -305,7 +305,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L355">runtime.ts:355</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L355">runtime.ts:355</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -322,7 +322,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L474">runtime.ts:474</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L474">runtime.ts:474</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -346,7 +346,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L443">runtime.ts:443</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L443">runtime.ts:443</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/packedfunccell.html b/docs/reference/api/typedoc/classes/packedfunccell.html
index 3b8a4c59af..a9da802a72 100644
--- a/docs/reference/api/typedoc/classes/packedfunccell.html
+++ b/docs/reference/api/typedoc/classes/packedfunccell.html
@@ -122,7 +122,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L158">runtime.ts:158</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L158">runtime.ts:158</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -147,7 +147,7 @@
<div class="tsd-signature tsd-kind-icon">handle<span class="tsd-signature-symbol">:</span> <a href="../index.html#pointer" class="tsd-signature-type">Pointer</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L157">runtime.ts:157</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L157">runtime.ts:157</a></li>
</ul>
</aside>
</section>
@@ -164,7 +164,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L165">runtime.ts:165</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L165">runtime.ts:165</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
diff --git a/docs/reference/api/typedoc/classes/rpcserver.html b/docs/reference/api/typedoc/classes/rpcserver.html
index dc044734cc..6f70548cc5 100644
--- a/docs/reference/api/typedoc/classes/rpcserver.html
+++ b/docs/reference/api/typedoc/classes/rpcserver.html
@@ -115,7 +115,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L92">rpc_server.ts:92</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -176,7 +176,7 @@
<div class="tsd-signature tsd-kind-icon">get<wbr>Imports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signat [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L82">rpc_server.ts:82</a></li>
</ul>
</aside>
<div class="tsd-type-declaration">
@@ -201,7 +201,7 @@
<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L78">rpc_server.ts:78</a></li>
</ul>
</aside>
</section>
@@ -211,7 +211,7 @@
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L81">rpc_server.ts:81</a></li>
</ul>
</aside>
<div class="tsd-type-declaration">
@@ -242,7 +242,7 @@
<div class="tsd-signature tsd-kind-icon">socket<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WebSocket</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L79">rpc_server.ts:79</a></li>
</ul>
</aside>
</section>
@@ -252,7 +252,7 @@
<div class="tsd-signature tsd-kind-icon">state<span class="tsd-signature-symbol">:</span> <a href="../enums/rpcserverstate.html" class="tsd-signature-type">RPCServerState</a><span class="tsd-signature-symbol"> = RPCServerState.InitHeader</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L80">rpc_server.ts:80</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L80">rpc_server.ts:80</a></li>
</ul>
</aside>
</section>
@@ -262,7 +262,7 @@
<div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L77">rpc_server.ts:77</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L77">rpc_server.ts:77</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/classes/scalar.html b/docs/reference/api/typedoc/classes/scalar.html
index 215c55b220..a2fed47eb9 100644
--- a/docs/reference/api/typedoc/classes/scalar.html
+++ b/docs/reference/api/typedoc/classes/scalar.html
@@ -112,7 +112,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L145">runtime.ts:145</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L145">runtime.ts:145</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -137,7 +137,7 @@
<div class="tsd-signature tsd-kind-icon">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L145">runtime.ts:145</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L145">runtime.ts:145</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -152,7 +152,7 @@
<div class="tsd-signature tsd-kind-icon">value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L143">runtime.ts:143</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L143">runtime.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/classes/webgpucontext.html b/docs/reference/api/typedoc/classes/webgpucontext.html
index 09be22fe0e..be3c129f3c 100644
--- a/docs/reference/api/typedoc/classes/webgpucontext.html
+++ b/docs/reference/api/typedoc/classes/webgpucontext.html
@@ -120,7 +120,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L57">webgpu.ts:57</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L57">webgpu.ts:57</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -145,7 +145,7 @@
<div class="tsd-signature tsd-kind-icon">device<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">GPUDevice</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L50">webgpu.ts:50</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L50">webgpu.ts:50</a></li>
</ul>
</aside>
</section>
@@ -155,7 +155,7 @@
<div class="tsd-signature tsd-kind-icon">memory<span class="tsd-signature-symbol">:</span> <a href="memory.html" class="tsd-signature-type">Memory</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L51">webgpu.ts:51</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L51">webgpu.ts:51</a></li>
</ul>
</aside>
</section>
@@ -172,7 +172,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L84">webgpu.ts:84</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L84">webgpu.ts:84</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -209,7 +209,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L170">webgpu.ts:170</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L170">webgpu.ts:170</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -238,7 +238,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L67">webgpu.ts:67</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L67">webgpu.ts:67</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/enums/argtypecode.html b/docs/reference/api/typedoc/enums/argtypecode.html
index 7e5993cdbc..9ba93d8a5d 100644
--- a/docs/reference/api/typedoc/enums/argtypecode.html
+++ b/docs/reference/api/typedoc/enums/argtypecode.html
@@ -106,7 +106,7 @@
<div class="tsd-signature tsd-kind-icon">DLDevice<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 6</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L220">ctypes.ts:220</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L220">ctypes.ts:220</a></li>
</ul>
</aside>
</section>
@@ -116,7 +116,7 @@
<div class="tsd-signature tsd-kind-icon">Float<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L216">ctypes.ts:216</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L216">ctypes.ts:216</a></li>
</ul>
</aside>
</section>
@@ -126,7 +126,7 @@
<div class="tsd-signature tsd-kind-icon">Int<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 0</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L214">ctypes.ts:214</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L214">ctypes.ts:214</a></li>
</ul>
</aside>
</section>
@@ -136,7 +136,7 @@
<div class="tsd-signature tsd-kind-icon">Null<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L218">ctypes.ts:218</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L218">ctypes.ts:218</a></li>
</ul>
</aside>
</section>
@@ -146,7 +146,7 @@
<div class="tsd-signature tsd-kind-icon">TVMBytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 12</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L226">ctypes.ts:226</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L226">ctypes.ts:226</a></li>
</ul>
</aside>
</section>
@@ -156,7 +156,7 @@
<div class="tsd-signature tsd-kind-icon">TVMDLTensor<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 7</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L221">ctypes.ts:221</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L221">ctypes.ts:221</a></li>
</ul>
</aside>
</section>
@@ -166,7 +166,7 @@
<div class="tsd-signature tsd-kind-icon">TVMData<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 5</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L219">ctypes.ts:219</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L219">ctypes.ts:219</a></li>
</ul>
</aside>
</section>
@@ -176,7 +176,7 @@
<div class="tsd-signature tsd-kind-icon">TVMModule<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 9</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L223">ctypes.ts:223</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L223">ctypes.ts:223</a></li>
</ul>
</aside>
</section>
@@ -186,7 +186,7 @@
<div class="tsd-signature tsd-kind-icon">TVMNDArray<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 13</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L227">ctypes.ts:227</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L227">ctypes.ts:227</a></li>
</ul>
</aside>
</section>
@@ -196,7 +196,7 @@
<div class="tsd-signature tsd-kind-icon">TVMObject<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L222">ctypes.ts:222</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L222">ctypes.ts:222</a></li>
</ul>
</aside>
</section>
@@ -206,7 +206,7 @@
<div class="tsd-signature tsd-kind-icon">TVMObjectRValue<wbr>Ref<wbr>Arg<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 14</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L228">ctypes.ts:228</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L228">ctypes.ts:228</a></li>
</ul>
</aside>
</section>
@@ -216,7 +216,7 @@
<div class="tsd-signature tsd-kind-icon">TVMOpaque<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 3</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L217">ctypes.ts:217</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L217">ctypes.ts:217</a></li>
</ul>
</aside>
</section>
@@ -226,7 +226,7 @@
<div class="tsd-signature tsd-kind-icon">TVMPacked<wbr>Func<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 10</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L224">ctypes.ts:224</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L224">ctypes.ts:224</a></li>
</ul>
</aside>
</section>
@@ -236,7 +236,7 @@
<div class="tsd-signature tsd-kind-icon">TVMStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 11</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L225">ctypes.ts:225</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L225">ctypes.ts:225</a></li>
</ul>
</aside>
</section>
@@ -246,7 +246,7 @@
<div class="tsd-signature tsd-kind-icon">UInt<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L215">ctypes.ts:215</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L215">ctypes.ts:215</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/enums/aynccallbackcode.html b/docs/reference/api/typedoc/enums/aynccallbackcode.html
index 04a2dbda3c..336a3bbc9f 100644
--- a/docs/reference/api/typedoc/enums/aynccallbackcode.html
+++ b/docs/reference/api/typedoc/enums/aynccallbackcode.html
@@ -93,7 +93,7 @@
<div class="tsd-signature tsd-kind-icon">k<wbr>Exception<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 5</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L676">runtime.ts:676</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L676">runtime.ts:676</a></li>
</ul>
</aside>
</section>
@@ -103,7 +103,7 @@
<div class="tsd-signature tsd-kind-icon">k<wbr>Return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L675">runtime.ts:675</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L675">runtime.ts:675</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/enums/dldatatypecode.html b/docs/reference/api/typedoc/enums/dldatatypecode.html
index 4062e278d8..111121e269 100644
--- a/docs/reference/api/typedoc/enums/dldatatypecode.html
+++ b/docs/reference/api/typedoc/enums/dldatatypecode.html
@@ -95,7 +95,7 @@
<div class="tsd-signature tsd-kind-icon">Float<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L242">runtime.ts:242</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L242">runtime.ts:242</a></li>
</ul>
</aside>
</section>
@@ -105,7 +105,7 @@
<div class="tsd-signature tsd-kind-icon">Int<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 0</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L240">runtime.ts:240</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L240">runtime.ts:240</a></li>
</ul>
</aside>
</section>
@@ -115,7 +115,7 @@
<div class="tsd-signature tsd-kind-icon">Opaque<wbr>Handle<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 3</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L243">runtime.ts:243</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L243">runtime.ts:243</a></li>
</ul>
</aside>
</section>
@@ -125,7 +125,7 @@
<div class="tsd-signature tsd-kind-icon">UInt<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L241">runtime.ts:241</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L241">runtime.ts:241</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/enums/rpcserverstate.html b/docs/reference/api/typedoc/enums/rpcserverstate.html
index 5eeefa0da6..0adc14e71b 100644
--- a/docs/reference/api/typedoc/enums/rpcserverstate.html
+++ b/docs/reference/api/typedoc/enums/rpcserverstate.html
@@ -90,7 +90,7 @@
<div class="tsd-signature tsd-kind-icon">Init<wbr>Header<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L27">rpc_server.ts:27</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L27">rpc_server.ts:27</a></li>
</ul>
</aside>
</section>
@@ -100,7 +100,7 @@
<div class="tsd-signature tsd-kind-icon">Init<wbr>Header<wbr>Key<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L28">rpc_server.ts:28</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L28">rpc_server.ts:28</a></li>
</ul>
</aside>
</section>
@@ -110,7 +110,7 @@
<div class="tsd-signature tsd-kind-icon">Init<wbr>Server<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L29">rpc_server.ts:29</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L29">rpc_server.ts:29</a></li>
</ul>
</aside>
</section>
@@ -120,7 +120,7 @@
<div class="tsd-signature tsd-kind-icon">Receive<wbr>Packet<wbr>Body<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L32">rpc_server.ts:32</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L32">rpc_server.ts:32</a></li>
</ul>
</aside>
</section>
@@ -130,7 +130,7 @@
<div class="tsd-signature tsd-kind-icon">Receive<wbr>Packet<wbr>Header<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L31">rpc_server.ts:31</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L31">rpc_server.ts:31</a></li>
</ul>
</aside>
</section>
@@ -140,7 +140,7 @@
<div class="tsd-signature tsd-kind-icon">Wait<wbr>For<wbr>Callback<span class="tsd-signature-symbol">:</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L30">rpc_server.ts:30</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L30">rpc_server.ts:30</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/enums/sizeof.html b/docs/reference/api/typedoc/enums/sizeof.html
index 2ce2b33a64..94920d7aae 100644
--- a/docs/reference/api/typedoc/enums/sizeof.html
+++ b/docs/reference/api/typedoc/enums/sizeof.html
@@ -100,7 +100,7 @@
<div class="tsd-signature tsd-kind-icon">DLData<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = I32</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L206">ctypes.ts:206</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L206">ctypes.ts:206</a></li>
</ul>
</aside>
</section>
@@ -110,7 +110,7 @@
<div class="tsd-signature tsd-kind-icon">DLDevice<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = I32 + I32</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L207">ctypes.ts:207</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L207">ctypes.ts:207</a></li>
</ul>
</aside>
</section>
@@ -120,7 +120,7 @@
<div class="tsd-signature tsd-kind-icon">F32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L203">ctypes.ts:203</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L203">ctypes.ts:203</a></li>
</ul>
</aside>
</section>
@@ -130,7 +130,7 @@
<div class="tsd-signature tsd-kind-icon">F64<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L204">ctypes.ts:204</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L204">ctypes.ts:204</a></li>
</ul>
</aside>
</section>
@@ -140,7 +140,7 @@
<div class="tsd-signature tsd-kind-icon">I32<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L201">ctypes.ts:201</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L201">ctypes.ts:201</a></li>
</ul>
</aside>
</section>
@@ -150,7 +150,7 @@
<div class="tsd-signature tsd-kind-icon">I64<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L202">ctypes.ts:202</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L202">ctypes.ts:202</a></li>
</ul>
</aside>
</section>
@@ -160,7 +160,7 @@
<div class="tsd-signature tsd-kind-icon">TVMValue<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 8</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L205">ctypes.ts:205</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L205">ctypes.ts:205</a></li>
</ul>
</aside>
</section>
@@ -170,7 +170,7 @@
<div class="tsd-signature tsd-kind-icon">U16<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 2</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L200">ctypes.ts:200</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L200">ctypes.ts:200</a></li>
</ul>
</aside>
</section>
@@ -180,7 +180,7 @@
<div class="tsd-signature tsd-kind-icon">U8<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = 1</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L199">ctypes.ts:199</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L199">ctypes.ts:199</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/index.html b/docs/reference/api/typedoc/index.html
index 43704e2a06..52e1325cad 100644
--- a/docs/reference/api/typedoc/index.html
+++ b/docs/reference/api/typedoc/index.html
@@ -174,7 +174,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Alloc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>shape<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, ndim<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, dtypeCode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, dtypeBits<span class="tsd [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L112">ctypes.ts:112</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L112">ctypes.ts:112</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -238,7 +238,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>From<wbr>Bytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, data<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nbytes<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">num [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L128">ctypes.ts:128</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L128">ctypes.ts:128</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -282,7 +282,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>From<wbr>To<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, to<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, stream<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-sig [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L144">ctypes.ts:144</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L144">ctypes.ts:144</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -326,7 +326,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Copy<wbr>ToBytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, data<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nbytes<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</sp [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L136">ctypes.ts:136</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L136">ctypes.ts:136</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -370,7 +370,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMArray<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L121">ctypes.ts:121</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L121">ctypes.ts:121</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -406,7 +406,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMBackend<wbr>PackedCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>argValues<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, argCodes<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nargs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number< [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L160">ctypes.ts:160</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L160">ctypes.ts:160</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -458,7 +458,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMCFunc<wbr>Set<wbr>Return<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ret<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, value<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCode<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signa [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L77">ctypes.ts:77</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L77">ctypes.ts:77</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -506,7 +506,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMCb<wbr>Arg<wbr>ToReturn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, code<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span c [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L83">ctypes.ts:83</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L83">ctypes.ts:83</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -545,7 +545,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Call<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>func<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, argValues<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCode<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-t [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L67">ctypes.ts:67</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L67">ctypes.ts:67</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -601,7 +601,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>func<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L57">ctypes.ts:57</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L57">ctypes.ts:57</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -637,7 +637,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Get<wbr>Global<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, out<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span cla [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L100">ctypes.ts:100</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L100">ctypes.ts:100</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -676,7 +676,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>List<wbr>Global<wbr>Names<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>outSize<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, outArray<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&g [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L88">ctypes.ts:88</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L88">ctypes.ts:88</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -715,7 +715,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMFunc<wbr>Register<wbr>Global<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, f<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, override<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</spa [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L94">ctypes.ts:94</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L94">ctypes.ts:94</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -758,7 +758,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMGet<wbr>Last<wbr>Error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L34">ctypes.ts:34</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L34">ctypes.ts:34</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -788,7 +788,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Free<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L52">ctypes.ts:52</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L52">ctypes.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -824,7 +824,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Get<wbr>Function<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, funcName<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, queryImports<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">numbe [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L42">ctypes.ts:42</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L42">ctypes.ts:42</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -872,7 +872,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMMod<wbr>Import<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mod<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, dep<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-si [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L48">ctypes.ts:48</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L48">ctypes.ts:48</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -912,7 +912,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMSynchronize<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>deviceType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, deviceId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, stream<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signatur [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L150">ctypes.ts:150</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L150">ctypes.ts:150</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -954,7 +954,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Alloc<wbr>Space<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>size<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L167">ctypes.ts:167</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L167">ctypes.ts:167</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -990,7 +990,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Free<wbr>Space<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ptr<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L170">ctypes.ts:170</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L170">ctypes.ts:170</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1026,7 +1026,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>Func<wbr>Create<wbr>FromCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>resource<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, out<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&g [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L187">ctypes.ts:187</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L187">ctypes.ts:187</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1066,7 +1066,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>PackedCFunc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, typeCodes<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a>, nargs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L179">ctypes.ts:179</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L179">ctypes.ts:179</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1118,7 +1118,7 @@
<div class="tsd-signature tsd-kind-icon">FTVMWasm<wbr>PackedCFunc<wbr>Finalizer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>resourceHandle<span class="tsd-signature-symbol">: </span><a href="index.html#pointer" class="tsd-signature-type">Pointer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L193">ctypes.ts:193</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L193">ctypes.ts:193</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1154,7 +1154,7 @@
<div class="tsd-signature tsd-kind-icon">GPUPointer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L25">webgpu.ts:25</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L25">webgpu.ts:25</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1169,7 +1169,7 @@
<div class="tsd-signature tsd-kind-icon">Packed<wbr>Func<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> & </span><a href="interfaces/disp [...]
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L36">runtime.ts:36</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L36">runtime.ts:36</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1184,7 +1184,7 @@
<div class="tsd-signature tsd-kind-icon">Pointer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L25">ctypes.ts:25</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L25">ctypes.ts:25</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1199,7 +1199,7 @@
<div class="tsd-signature tsd-kind-icon">Ptr<wbr>Offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/ctypes.ts#L28">ctypes.ts:28</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/ctypes.ts#L28">ctypes.ts:28</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1217,7 +1217,7 @@
<div class="tsd-signature tsd-kind-icon">RPC_<wbr>MAGIC<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">1045105</span><span class="tsd-signature-symbol"> = 1045105</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/rpc_server.ts#L36">rpc_server.ts:36</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/rpc_server.ts#L36">rpc_server.ts:36</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1239,7 +1239,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/support.ts#L25">support.ts:25</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/support.ts#L25">support.ts:25</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1271,7 +1271,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/support.ts#L39">support.ts:39</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/support.ts#L39">support.ts:39</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1300,7 +1300,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/support.ts#L52">support.ts:52</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/support.ts#L52">support.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1337,7 +1337,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/compact.ts#L38">compact.ts:38</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/compact.ts#L38">compact.ts:38</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1368,7 +1368,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L30">webgpu.ts:30</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L30">webgpu.ts:30</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1390,7 +1390,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/environment.ts#L32">environment.ts:32</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/environment.ts#L32">environment.ts:32</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1421,7 +1421,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/compact.ts#L24">compact.ts:24</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/compact.ts#L24">compact.ts:24</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1443,7 +1443,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L1367">runtime.ts:1367</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L1367">runtime.ts:1367</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1508,7 +1508,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/support.ts#L62">support.ts:62</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/support.ts#L62">support.ts:62</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -1530,7 +1530,7 @@
<div class="tsd-signature tsd-kind-icon">DLData<wbr>Type<wbr>Code<wbr>ToStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L246">runtime.ts:246</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L246">runtime.ts:246</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1539,7 +1539,7 @@
<div class="tsd-signature tsd-kind-icon">0<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "int"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L247">runtime.ts:247</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L247">runtime.ts:247</a></li>
</ul>
</aside>
</section>
@@ -1549,7 +1549,7 @@
<div class="tsd-signature tsd-kind-icon">1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "uint"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L248">runtime.ts:248</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L248">runtime.ts:248</a></li>
</ul>
</aside>
</section>
@@ -1559,7 +1559,7 @@
<div class="tsd-signature tsd-kind-icon">2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "float"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L249">runtime.ts:249</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L249">runtime.ts:249</a></li>
</ul>
</aside>
</section>
@@ -1569,7 +1569,7 @@
<div class="tsd-signature tsd-kind-icon">3<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "handle"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L250">runtime.ts:250</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L250">runtime.ts:250</a></li>
</ul>
</aside>
</section>
@@ -1580,7 +1580,7 @@
<div class="tsd-signature tsd-kind-icon">Device<wbr>Enum<wbr>ToStr<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L175">runtime.ts:175</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L175">runtime.ts:175</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1589,7 +1589,7 @@
<div class="tsd-signature tsd-kind-icon">1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "cpu"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L176">runtime.ts:176</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L176">runtime.ts:176</a></li>
</ul>
</aside>
</section>
@@ -1599,7 +1599,7 @@
<div class="tsd-signature tsd-kind-icon">15<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "webgpu"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L180">runtime.ts:180</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L180">runtime.ts:180</a></li>
</ul>
</aside>
</section>
@@ -1609,7 +1609,7 @@
<div class="tsd-signature tsd-kind-icon">2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "cuda"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L177">runtime.ts:177</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L177">runtime.ts:177</a></li>
</ul>
</aside>
</section>
@@ -1619,7 +1619,7 @@
<div class="tsd-signature tsd-kind-icon">4<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "opencl"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L178">runtime.ts:178</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L178">runtime.ts:178</a></li>
</ul>
</aside>
</section>
@@ -1629,7 +1629,7 @@
<div class="tsd-signature tsd-kind-icon">8<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = "metal"</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L179">runtime.ts:179</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L179">runtime.ts:179</a></li>
</ul>
</aside>
</section>
@@ -1640,7 +1640,7 @@
<div class="tsd-signature tsd-kind-icon">Device<wbr>Str<wbr>ToEnum<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L183">runtime.ts:183</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L183">runtime.ts:183</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
@@ -1649,7 +1649,7 @@
<div class="tsd-signature tsd-kind-icon">cl<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L186">runtime.ts:186</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L186">runtime.ts:186</a></li>
</ul>
</aside>
</section>
@@ -1659,7 +1659,7 @@
<div class="tsd-signature tsd-kind-icon">cpu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L184">runtime.ts:184</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L184">runtime.ts:184</a></li>
</ul>
</aside>
</section>
@@ -1669,7 +1669,7 @@
<div class="tsd-signature tsd-kind-icon">cuda<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 2</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L185">runtime.ts:185</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L185">runtime.ts:185</a></li>
</ul>
</aside>
</section>
@@ -1679,7 +1679,7 @@
<div class="tsd-signature tsd-kind-icon">metal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 8</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L189">runtime.ts:189</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L189">runtime.ts:189</a></li>
</ul>
</aside>
</section>
@@ -1689,7 +1689,7 @@
<div class="tsd-signature tsd-kind-icon">opencl<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 4</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L187">runtime.ts:187</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L187">runtime.ts:187</a></li>
</ul>
</aside>
</section>
@@ -1699,7 +1699,7 @@
<div class="tsd-signature tsd-kind-icon">vulkan<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 7</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L188">runtime.ts:188</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L188">runtime.ts:188</a></li>
</ul>
</aside>
</section>
@@ -1709,7 +1709,7 @@
<div class="tsd-signature tsd-kind-icon">webgpu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 15</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/runtime.ts#L190">runtime.ts:190</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/runtime.ts#L190">runtime.ts:190</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/interfaces/disposable.html b/docs/reference/api/typedoc/interfaces/disposable.html
index 288c39fc40..d2b44be10c 100644
--- a/docs/reference/api/typedoc/interfaces/disposable.html
+++ b/docs/reference/api/typedoc/interfaces/disposable.html
@@ -113,7 +113,7 @@
<div class="tsd-signature tsd-kind-icon">dispose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/types.ts#L52">types.ts:52</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/types.ts#L52">types.ts:52</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/reference/api/typedoc/interfaces/functioninfo.html b/docs/reference/api/typedoc/interfaces/functioninfo.html
index 1c8f61a435..0241dca53d 100644
--- a/docs/reference/api/typedoc/interfaces/functioninfo.html
+++ b/docs/reference/api/typedoc/interfaces/functioninfo.html
@@ -95,7 +95,7 @@
<div class="tsd-signature tsd-kind-icon">arg_<wbr>types<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L41">webgpu.ts:41</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L41">webgpu.ts:41</a></li>
</ul>
</aside>
</section>
@@ -105,7 +105,7 @@
<div class="tsd-signature tsd-kind-icon">launch_<wbr>param_<wbr>tags<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L42">webgpu.ts:42</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L42">webgpu.ts:42</a></li>
</ul>
</aside>
</section>
@@ -115,7 +115,7 @@
<div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/webgpu.ts#L40">webgpu.ts:40</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/webgpu.ts#L40">webgpu.ts:40</a></li>
</ul>
</aside>
</section>
diff --git a/docs/reference/api/typedoc/interfaces/libraryprovider.html b/docs/reference/api/typedoc/interfaces/libraryprovider.html
index 8e59f7aa84..85b3bfaacf 100644
--- a/docs/reference/api/typedoc/interfaces/libraryprovider.html
+++ b/docs/reference/api/typedoc/interfaces/libraryprovider.html
@@ -112,7 +112,7 @@
<div class="tsd-signature tsd-kind-icon">imports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/types.ts#L34">types.ts:34</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/types.ts#L34">types.ts:34</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -127,7 +127,7 @@
<div class="tsd-signature tsd-kind-icon">start<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>inst<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Instance</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
<aside class="tsd-sources">
<ul>
- <li>Defined in <a href="https://github.com/apache/tvm/blob/9c9f32536/web/src/types.ts#L39">types.ts:39</a></li>
+ <li>Defined in <a href="https://github.com/apache/tvm/blob/a4840e7de/web/src/types.ts#L39">types.ts:39</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
diff --git a/docs/searchindex.js b/docs/searchindex.js
index 5466557f7a..36d0cd23c9 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["arch/benchmark","arch/convert_layout","arch/debugger","arch/device_target_interactions","arch/frontend/tensorflow","arch/hybrid_script","arch/index","arch/inferbound","arch/introduction_to_module_serialization","arch/microtvm_design","arch/microtvm_project_api","arch/model_library_format","arch/pass_infra","arch/relay_intro","arch/relay_op_strategy","arch/runtime","arch/runtimes/vulkan","arch/security","arch/virtual_machine","contribute/ci","contribute/code_gu [...]
\ No newline at end of file
+Search.setIndex({docnames:["arch/benchmark","arch/convert_layout","arch/debugger","arch/device_target_interactions","arch/frontend/tensorflow","arch/hybrid_script","arch/index","arch/inferbound","arch/introduction_to_module_serialization","arch/microtvm_design","arch/microtvm_project_api","arch/model_library_format","arch/pass_infra","arch/relay_intro","arch/relay_op_strategy","arch/runtime","arch/runtimes/vulkan","arch/security","arch/virtual_machine","contribute/ci","contribute/code_gu [...]
\ No newline at end of file
diff --git a/docs/topic/vta/tutorials/autotvm/sg_execution_times.html b/docs/topic/vta/tutorials/autotvm/sg_execution_times.html
index 30cb978333..d498013630 100644
--- a/docs/topic/vta/tutorials/autotvm/sg_execution_times.html
+++ b/docs/topic/vta/tutorials/autotvm/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-topic-vta-tutorials-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>00:26.268</strong> total execution time for <strong>topic_vta_tutorials_autotvm</strong> files:</p>
+<p><strong>00:25.771</strong> total execution time for <strong>topic_vta_tutorials_autotvm</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 82%" />
@@ -341,7 +341,7 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_vta.html#sphx-glr-topic-vta-tutorials-autotvm-tune-relay-vta-py"><span class="std std-ref">Auto-tuning a convolutional network on VTA</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_vta.py</span></code>)</p></td>
-<td><p>00:26.262</p></td>
+<td><p>00:25.765</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="tune_alu_vta.html#sphx-glr-topic-vta-tutorials-autotvm-tune-alu-vta-py"><span class="std std-ref">Auto-tuning a ALU fused op on VTA</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_alu_vta.py</span></code>)</p></td>
diff --git a/docs/topic/vta/tutorials/frontend/deploy_classification.html b/docs/topic/vta/tutorials/frontend/deploy_classification.html
index 861057e441..defba42cb1 100644
--- a/docs/topic/vta/tutorials/frontend/deploy_classification.html
+++ b/docs/topic/vta/tutorials/frontend/deploy_classification.html
@@ -574,7 +574,7 @@ and dense layer which will both be executed in fp32 on the CPU.</p></li>
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 27.73s!
+resnet18_v1 inference graph built in 27.26s!
</pre></div>
</div>
</div>
diff --git a/docs/topic/vta/tutorials/frontend/deploy_detection.html b/docs/topic/vta/tutorials/frontend/deploy_detection.html
index e25ce8886b..83d48a2e9e 100644
--- a/docs/topic/vta/tutorials/frontend/deploy_detection.html
+++ b/docs/topic/vta/tutorials/frontend/deploy_detection.html
@@ -592,7 +592,7 @@ and dense layer which will both be executed in fp32 on the CPU.</p></li>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/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.11s!
+yolov3-tiny inference graph built in 19.07s!
</pre></div>
</div>
</div>
diff --git a/docs/topic/vta/tutorials/frontend/sg_execution_times.html b/docs/topic/vta/tutorials/frontend/sg_execution_times.html
index b865b90e7f..d64a6eeea8 100644
--- a/docs/topic/vta/tutorials/frontend/sg_execution_times.html
+++ b/docs/topic/vta/tutorials/frontend/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-topic-vta-tutorials-frontend-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>01:38.748</strong> total execution time for <strong>topic_vta_tutorials_frontend</strong> files:</p>
+<p><strong>01:38.575</strong> total execution time for <strong>topic_vta_tutorials_frontend</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -341,11 +341,11 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="deploy_detection.html#sphx-glr-topic-vta-tutorials-frontend-deploy-detection-py"><span class="std std-ref">Deploy Pretrained Vision Detection Model from Darknet on VTA</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_detection.py</span></code>)</p></td>
-<td><p>00:51.068</p></td>
+<td><p>00:51.408</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="deploy_classification.html#sphx-glr-topic-vta-tutorials-frontend-deploy-classification-py"><span class="std std-ref">Deploy Pretrained Vision Model from MxNet on VTA</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_classification.py</span></code>)</p></td>
-<td><p>00:47.680</p></td>
+<td><p>00:47.167</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/topic/vta/tutorials/optimize/sg_execution_times.html b/docs/topic/vta/tutorials/optimize/sg_execution_times.html
index 257980f76e..bfd60048bb 100644
--- a/docs/topic/vta/tutorials/optimize/sg_execution_times.html
+++ b/docs/topic/vta/tutorials/optimize/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-topic-vta-tutorials-optimize-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>00:03.138</strong> total execution time for <strong>topic_vta_tutorials_optimize</strong> files:</p>
+<p><strong>00:03.144</strong> total execution time for <strong>topic_vta_tutorials_optimize</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 84%" />
@@ -341,11 +341,11 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="convolution_opt.html#sphx-glr-topic-vta-tutorials-optimize-convolution-opt-py"><span class="std std-ref">2D Convolution Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">convolution_opt.py</span></code>)</p></td>
-<td><p>00:02.680</p></td>
+<td><p>00:02.717</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="matrix_multiply_opt.html#sphx-glr-topic-vta-tutorials-optimize-matrix-multiply-opt-py"><span class="std std-ref">Matrix Multiply Blocking</span></a> (<code class="docutils literal notranslate"><span class="pre">matrix_multiply_opt.py</span></code>)</p></td>
-<td><p>00:00.458</p></td>
+<td><p>00:00.427</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/topic/vta/tutorials/sg_execution_times.html b/docs/topic/vta/tutorials/sg_execution_times.html
index afe8c69130..668b37a899 100644
--- a/docs/topic/vta/tutorials/sg_execution_times.html
+++ b/docs/topic/vta/tutorials/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-topic-vta-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>00:00.832</strong> total execution time for <strong>topic_vta_tutorials</strong> files:</p>
+<p><strong>00:00.761</strong> total execution time for <strong>topic_vta_tutorials</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 81%" />
@@ -341,11 +341,11 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="matrix_multiply.html#sphx-glr-topic-vta-tutorials-matrix-multiply-py"><span class="std std-ref">Simple Matrix Multiply</span></a> (<code class="docutils literal notranslate"><span class="pre">matrix_multiply.py</span></code>)</p></td>
-<td><p>00:00.444</p></td>
+<td><p>00:00.402</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="vta_get_started.html#sphx-glr-topic-vta-tutorials-vta-get-started-py"><span class="std std-ref">Get Started with VTA</span></a> (<code class="docutils literal notranslate"><span class="pre">vta_get_started.py</span></code>)</p></td>
-<td><p>00:00.388</p></td>
+<td><p>00:00.358</p></td>
<td><p>0.0 MB</p></td>
</tr>
</tbody>
diff --git a/docs/tutorial/auto_scheduler_matmul_x86.html b/docs/tutorial/auto_scheduler_matmul_x86.html
index 366f36c039..afac167193 100644
--- a/docs/tutorial/auto_scheduler_matmul_x86.html
+++ b/docs/tutorial/auto_scheduler_matmul_x86.html
@@ -483,9 +483,6 @@ trials, we can load the best schedule from the log file and apply it.</p>
<a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">sch</span></a><span class="p">,</span> <a href="../reference/api/python/ir.html#tvm.ir.Array" title="tvm.ir.Array" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">args</span></a> <span class="o">=</span> <a href="../reference/api/pyth [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>*E*E
-</pre></div>
-</div>
</div>
<div class="section" id="inspecting-the-optimized-schedule">
<h2>Inspecting the Optimized Schedule<a class="headerlink" href="#inspecting-the-optimized-schedule" title="Permalink to this headline">ΒΆ</a></h2>
@@ -573,7 +570,7 @@ 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: 98.191 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 95.334 ms
</pre></div>
</div>
</div>
@@ -647,7 +644,7 @@ automatically optimize a matrix multiplication, without the need to specify a
search template. It ends a series of examples that starts from the Tensor
Expression (TE) language that demonstrates how TVM can optimize computational
operations.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 34.517 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 12.434 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-tutorial-auto-scheduler-matmul-x86-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../_downloads/eac4389b114db015e95cb3cdf8b86b83/auto_scheduler_matmul_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">auto_scheduler_matmul_x86.py</span></code></a></p>
diff --git a/docs/tutorial/autotvm_matmul_x86.html b/docs/tutorial/autotvm_matmul_x86.html
index 8a4e5ad221..da3c9f72d2 100644
--- a/docs/tutorial/autotvm_matmul_x86.html
+++ b/docs/tutorial/autotvm_matmul_x86.html
@@ -674,16 +674,16 @@ reduce variance, we take 5 measurements and average them.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>waiting for device...
device available
Get devices for measurement successfully!
-No: 1 GFLOPS: 2.84/2.84 result: MeasureResult(costs=(0.0946597988,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6727735996246338, timestamp=1666142365.4015224) [('tile_y', [-1, 1]), ('tile_x', [-1, 16])],None,40
-No: 2 GFLOPS: 8.46/8.46 result: MeasureResult(costs=(0.031729582,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.690291166305542, timestamp=1666142366.116137) [('tile_y', [-1, 512]), ('tile_x', [-1, 32])],None,59
-No: 3 GFLOPS: 3.90/8.46 result: MeasureResult(costs=(0.06884953320000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2616729736328125, timestamp=1666142368.138731) [('tile_y', [-1, 32]), ('tile_x', [-1, 16])],None,45
-No: 4 GFLOPS: 12.12/12.12 result: MeasureResult(costs=(0.0221548006,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.4880790710449219, timestamp=1666142369.4146698) [('tile_y', [-1, 256]), ('tile_x', [-1, 512])],None,98
-No: 5 GFLOPS: 0.86/12.12 result: MeasureResult(costs=(0.3106522278,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.099677085876465, timestamp=1666142374.6544654) [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
-No: 6 GFLOPS: 1.31/12.12 result: MeasureResult(costs=(0.20498442839999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.4178760051727295, timestamp=1666142378.8655124) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
-No: 7 GFLOPS: 2.73/12.12 result: MeasureResult(costs=(0.09826048600000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7243154048919678, timestamp=1666142380.608031) [('tile_y', [-1, 512]), ('tile_x', [-1, 16])],None,49
-No: 8 GFLOPS: 0.50/12.12 result: MeasureResult(costs=(0.5333040393999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.728060960769653, timestamp=1666142389.346417) [('tile_y', [-1, 64]), ('tile_x', [-1, 1])],None,6
-No: 9 GFLOPS: 8.83/12.12 result: MeasureResult(costs=(0.0304115396,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7580146789550781, timestamp=1666142390.2221808) [('tile_y', [-1, 16]), ('tile_x', [-1, 64])],None,64
-No: 10 GFLOPS: 0.94/12.12 result: MeasureResult(costs=(0.2856231862,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.6850621700286865, timestamp=1666142394.9538877) [('tile_y', [-1, 32]), ('tile_x', [-1, 2])],None,15
+No: 1 GFLOPS: 10.61/10.61 result: MeasureResult(costs=(0.025310168,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5522544384002686, timestamp=1666168087.296209) [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+No: 2 GFLOPS: 3.55/10.61 result: MeasureResult(costs=(0.07555133779999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4040124416351318, timestamp=1666168088.7111356) [('tile_y', [-1, 8]), ('tile_x', [-1, 8])],None,33
+No: 3 GFLOPS: 12.94/12.94 result: MeasureResult(costs=(0.0207387908,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.4987807273864746, timestamp=1666168089.9543133) [('tile_y', [-1, 64]), ('tile_x', [-1, 512])],None,96
+No: 4 GFLOPS: 2.10/12.94 result: MeasureResult(costs=(0.128021247,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.1969802379608154, timestamp=1666168092.9239159) [('tile_y', [-1, 8]), ('tile_x', [-1, 2])],None,13
+No: 5 GFLOPS: 1.56/12.94 result: MeasureResult(costs=(0.17185375360000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.902674913406372, timestamp=1666168096.7543356) [('tile_y', [-1, 32]), ('tile_x', [-1, 4])],None,25
+No: 6 GFLOPS: 3.67/12.94 result: MeasureResult(costs=(0.0732077524,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3287670612335205, timestamp=1666168098.0895882) [('tile_y', [-1, 128]), ('tile_x', [-1, 16])],None,47
+No: 7 GFLOPS: 1.31/12.94 result: MeasureResult(costs=(0.20424237120000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.4007813930511475, timestamp=1666168101.5207994) [('tile_y', [-1, 2]), ('tile_x', [-1, 1])],None,1
+No: 8 GFLOPS: 11.79/12.94 result: MeasureResult(costs=(0.0227603852,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.616755485534668, timestamp=1666168102.0951579) [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
+No: 9 GFLOPS: 3.29/12.94 result: MeasureResult(costs=(0.0816227602,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4441611766815186, timestamp=1666168103.6545784) [('tile_y', [-1, 64]), ('tile_x', [-1, 8])],None,36
+No: 10 GFLOPS: 11.36/12.94 result: MeasureResult(costs=(0.0236374636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5181732177734375, timestamp=1666168104.1962073) [('tile_y', [-1, 128]), ('tile_x', [-1, 32])],None,57
</pre></div>
</div>
<p>With tuning completed, we can choose the configuration from the log file that
diff --git a/docs/tutorial/autotvm_relay_x86.html b/docs/tutorial/autotvm_relay_x86.html
index e29b54c65e..eab5262cf3 100644
--- a/docs/tutorial/autotvm_relay_x86.html
+++ b/docs/tutorial/autotvm_relay_x86.html
@@ -552,7 +552,7 @@ standard deviation.</p>
<span class="nb">print</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">unoptimized</span></a><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>{'mean': 512.4635806899823, 'median': 512.755924799967, 'std': 2.390858674269217}
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>{'mean': 513.3250477999992, 'median': 513.9237501499963, 'std': 2.7904373937880096}
</pre></div>
</div>
</div>
@@ -704,178 +704,178 @@ depending on the specifics of the model and the target platform.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[Task 1/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 1/25] Current/Best: 14.92/ 22.23 GFLOPS | Progress: (4/20) | 7.37 s
-[Task 1/25] Current/Best: 9.42/ 22.23 GFLOPS | Progress: (8/20) | 11.72 s
-[Task 1/25] Current/Best: 14.80/ 22.23 GFLOPS | Progress: (12/20) | 14.13 s
-[Task 1/25] Current/Best: 17.59/ 22.23 GFLOPS | Progress: (16/20) | 16.91 s
-[Task 1/25] Current/Best: 18.10/ 22.23 GFLOPS | Progress: (20/20) | 18.75 s Done.
+[Task 1/25] Current/Best: 12.77/ 12.77 GFLOPS | Progress: (4/20) | 10.41 s
+[Task 1/25] Current/Best: 19.14/ 19.14 GFLOPS | Progress: (8/20) | 14.22 s
+[Task 1/25] Current/Best: 8.38/ 19.14 GFLOPS | Progress: (12/20) | 16.96 s
+[Task 1/25] Current/Best: 21.35/ 21.35 GFLOPS | Progress: (16/20) | 21.85 s
+[Task 1/25] Current/Best: 22.65/ 22.65 GFLOPS | Progress: (20/20) | 24.09 s Done.
[Task 2/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 2/25] Current/Best: 17.44/ 17.44 GFLOPS | Progress: (4/20) | 2.91 s
-[Task 2/25] Current/Best: 16.47/ 17.44 GFLOPS | Progress: (8/20) | 4.36 s
-[Task 2/25] Current/Best: 6.87/ 17.44 GFLOPS | Progress: (12/20) | 5.81 s
-[Task 2/25] Current/Best: 20.05/ 20.05 GFLOPS | Progress: (16/20) | 7.16 s
-[Task 2/25] Current/Best: 17.26/ 20.05 GFLOPS | Progress: (20/20) | 8.82 s Done.
+[Task 2/25] Current/Best: 21.00/ 21.00 GFLOPS | Progress: (4/20) | 2.55 s
+[Task 2/25] Current/Best: 12.30/ 21.00 GFLOPS | Progress: (8/20) | 3.75 s
+[Task 2/25] Current/Best: 6.62/ 21.00 GFLOPS | Progress: (12/20) | 5.50 s
+[Task 2/25] Current/Best: 19.86/ 21.00 GFLOPS | Progress: (16/20) | 6.43 s
+[Task 2/25] Current/Best: 13.12/ 21.00 GFLOPS | Progress: (20/20) | 7.71 s Done.
[Task 3/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 3/25] Current/Best: 10.29/ 21.71 GFLOPS | Progress: (4/20) | 4.66 s
-[Task 3/25] Current/Best: 6.85/ 21.71 GFLOPS | Progress: (8/20) | 7.11 s
-[Task 3/25] Current/Best: 16.40/ 21.71 GFLOPS | Progress: (12/20) | 8.66 s
-[Task 3/25] Current/Best: 22.01/ 22.31 GFLOPS | Progress: (16/20) | 11.25 s
-[Task 3/25] Current/Best: 12.20/ 22.31 GFLOPS | Progress: (20/20) | 13.09 s Done.
+[Task 3/25] Current/Best: 11.50/ 11.56 GFLOPS | Progress: (4/20) | 4.11 s
+[Task 3/25] Current/Best: 12.02/ 12.02 GFLOPS | Progress: (8/20) | 7.37 s
+[Task 3/25] Current/Best: 22.88/ 22.88 GFLOPS | Progress: (12/20) | 9.81 s
+[Task 3/25] Current/Best: 8.30/ 24.31 GFLOPS | Progress: (16/20) | 12.05 s
+[Task 3/25] Current/Best: 18.04/ 24.31 GFLOPS | Progress: (20/20) | 14.81 s Done.
[Task 4/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 4/25] Current/Best: 11.41/ 20.57 GFLOPS | Progress: (4/20) | 5.61 s
-[Task 4/25] Current/Best: 14.18/ 20.57 GFLOPS | Progress: (8/20) | 7.35 s
-[Task 4/25] Current/Best: 8.10/ 20.57 GFLOPS | Progress: (12/20) | 10.41 s
-[Task 4/25] Current/Best: 11.41/ 20.57 GFLOPS | Progress: (16/20) | 13.41 s
-[Task 4/25] Current/Best: 16.28/ 20.57 GFLOPS | Progress: (20/20) | 15.15 s Done.
+[Task 4/25] Current/Best: 10.81/ 19.11 GFLOPS | Progress: (4/20) | 3.30 s
+[Task 4/25] Current/Best: 15.34/ 19.11 GFLOPS | Progress: (8/20) | 5.25 s
+[Task 4/25] Current/Best: 13.94/ 19.11 GFLOPS | Progress: (12/20) | 7.36 s
+[Task 4/25] Current/Best: 8.91/ 19.11 GFLOPS | Progress: (16/20) | 9.74 s
+[Task 4/25] Current/Best: 9.81/ 19.11 GFLOPS | Progress: (20/20) | 15.09 s Done.
[Task 5/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 5/25] Current/Best: 5.39/ 21.69 GFLOPS | Progress: (4/20) | 3.02 s
-[Task 5/25] Current/Best: 6.88/ 21.69 GFLOPS | Progress: (8/20) | 4.79 s
-[Task 5/25] Current/Best: 16.91/ 21.69 GFLOPS | Progress: (12/20) | 6.79 s
-[Task 5/25] Current/Best: 11.93/ 21.69 GFLOPS | Progress: (16/20) | 8.33 s
-[Task 5/25] Current/Best: 5.88/ 21.69 GFLOPS | Progress: (20/20) | 10.56 s Done.
+[Task 5/25] Current/Best: 2.92/ 11.32 GFLOPS | Progress: (4/20) | 3.76 s
+[Task 5/25] Current/Best: 12.22/ 21.89 GFLOPS | Progress: (8/20) | 5.28 s
+[Task 5/25] Current/Best: 9.99/ 21.89 GFLOPS | Progress: (12/20) | 6.73 s
+[Task 5/25] Current/Best: 21.47/ 21.89 GFLOPS | Progress: (16/20) | 8.45 s
+[Task 5/25] Current/Best: 12.43/ 21.89 GFLOPS | Progress: (20/20) | 10.48 s Done.
[Task 6/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 6/25] Current/Best: 17.86/ 19.70 GFLOPS | Progress: (4/20) | 4.80 s
-[Task 6/25] Current/Best: 11.55/ 19.70 GFLOPS | Progress: (8/20) | 6.73 s
-[Task 6/25] Current/Best: 16.87/ 19.70 GFLOPS | Progress: (12/20) | 9.14 s
-[Task 6/25] Current/Best: 11.90/ 19.70 GFLOPS | Progress: (16/20) | 11.45 s
-[Task 6/25] Current/Best: 10.28/ 19.70 GFLOPS | Progress: (20/20) | 13.97 s Done.
+[Task 6/25] Current/Best: 5.79/ 16.27 GFLOPS | Progress: (4/20) | 4.10 s
+[Task 6/25] Current/Best: 11.19/ 18.04 GFLOPS | Progress: (8/20) | 6.15 s
+[Task 6/25] Current/Best: 13.65/ 18.04 GFLOPS | Progress: (12/20) | 9.16 s
+[Task 6/25] Current/Best: 13.22/ 19.91 GFLOPS | Progress: (16/20) | 11.82 s
+[Task 6/25] Current/Best: 17.12/ 19.91 GFLOPS | Progress: (20/20) | 15.42 s Done.
[Task 7/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 7/25] Current/Best: 7.82/ 14.05 GFLOPS | Progress: (4/20) | 5.25 s
-[Task 7/25] Current/Best: 19.12/ 19.12 GFLOPS | Progress: (8/20) | 7.02 s
-[Task 7/25] Current/Best: 12.21/ 19.12 GFLOPS | Progress: (12/20) | 9.23 s
-[Task 7/25] Current/Best: 18.35/ 19.12 GFLOPS | Progress: (16/20) | 11.30 s
-[Task 7/25] Current/Best: 17.40/ 22.48 GFLOPS | Progress: (20/20) | 13.03 s Done.
+[Task 7/25] Current/Best: 15.06/ 15.86 GFLOPS | Progress: (4/20) | 3.37 s
+[Task 7/25] Current/Best: 5.93/ 16.05 GFLOPS | Progress: (8/20) | 5.83 s
+[Task 7/25] Current/Best: 9.71/ 18.49 GFLOPS | Progress: (12/20) | 7.57 s
+[Task 7/25] Current/Best: 13.48/ 18.49 GFLOPS | Progress: (16/20) | 9.35 s
+[Task 7/25] Current/Best: 13.85/ 18.49 GFLOPS | Progress: (20/20) | 12.06 s Done.
[Task 8/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 8/25] Current/Best: 12.70/ 12.70 GFLOPS | Progress: (4/20) | 9.47 s
-[Task 8/25] Current/Best: 11.65/ 17.57 GFLOPS | Progress: (8/20) | 12.64 s
-[Task 8/25] Current/Best: 14.70/ 17.57 GFLOPS | Progress: (12/20) | 14.51 s
-[Task 8/25] Current/Best: 10.41/ 20.88 GFLOPS | Progress: (16/20) | 16.11 s
-[Task 8/25] Current/Best: 3.98/ 20.88 GFLOPS | Progress: (20/20) | 18.51 s Done.
+[Task 8/25] Current/Best: 5.13/ 12.61 GFLOPS | Progress: (4/20) | 3.75 s
+[Task 8/25] Current/Best: 5.45/ 15.96 GFLOPS | Progress: (8/20) | 6.02 s
+[Task 8/25] Current/Best: 9.98/ 19.16 GFLOPS | Progress: (12/20) | 10.22 s
+[Task 8/25] Current/Best: 15.79/ 19.16 GFLOPS | Progress: (16/20) | 12.29 s
+[Task 8/25] Current/Best: 9.91/ 19.16 GFLOPS | Progress: (20/20) | 24.48 s Done.
[Task 9/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 9/25] Current/Best: 16.44/ 16.44 GFLOPS | Progress: (4/20) | 3.57 s
-[Task 9/25] Current/Best: 11.30/ 23.47 GFLOPS | Progress: (8/20) | 14.48 s
-[Task 9/25] Current/Best: 16.08/ 23.47 GFLOPS | Progress: (12/20) | 16.48 s
-[Task 9/25] Current/Best: 18.09/ 23.47 GFLOPS | Progress: (16/20) | 27.26 s
-[Task 9/25] Current/Best: 13.79/ 23.47 GFLOPS | Progress: (20/20) | 29.43 s
+[Task 9/25] Current/Best: 8.52/ 18.73 GFLOPS | Progress: (4/20) | 4.96 s
+[Task 9/25] Current/Best: 9.24/ 18.73 GFLOPS | Progress: (8/20) | 7.31 s
+[Task 9/25] Current/Best: 8.40/ 18.73 GFLOPS | Progress: (12/20) | 9.04 s
+[Task 9/25] Current/Best: 12.35/ 18.73 GFLOPS | Progress: (16/20) | 15.62 s
+[Task 9/25] Current/Best: 11.58/ 18.73 GFLOPS | Progress: (20/20) | 20.67 s Done.
+
[Task 10/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 10/25] Current/Best: 15.21/ 15.85 GFLOPS | Progress: (4/20) | 2.86 s
-[Task 10/25] Current/Best: 3.13/ 15.85 GFLOPS | Progress: (8/20) | 4.83 s
-[Task 10/25] Current/Best: 17.12/ 17.12 GFLOPS | Progress: (12/20) | 6.55 s
-[Task 10/25] Current/Best: 4.61/ 17.67 GFLOPS | Progress: (16/20) | 8.83 s
-[Task 10/25] Current/Best: 13.89/ 17.84 GFLOPS | Progress: (20/20) | 10.33 s Done.
+[Task 10/25] Current/Best: 8.27/ 18.53 GFLOPS | Progress: (4/20) | 4.38 s
+[Task 10/25] Current/Best: 9.89/ 18.53 GFLOPS | Progress: (8/20) | 6.18 s
+[Task 10/25] Current/Best: 14.16/ 20.26 GFLOPS | Progress: (12/20) | 7.59 s
+[Task 10/25] Current/Best: 13.26/ 20.26 GFLOPS | Progress: (16/20) | 9.11 s
+[Task 10/25] Current/Best: 16.88/ 20.26 GFLOPS | Progress: (20/20) | 10.71 s Done.
[Task 11/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 11/25] Current/Best: 12.39/ 15.95 GFLOPS | Progress: (4/20) | 3.88 s
-[Task 11/25] Current/Best: 9.47/ 16.68 GFLOPS | Progress: (8/20) | 6.80 s
-[Task 11/25] Current/Best: 12.00/ 17.73 GFLOPS | Progress: (12/20) | 9.32 s
-[Task 11/25] Current/Best: 9.38/ 17.73 GFLOPS | Progress: (16/20) | 11.97 s
-[Task 11/25] Current/Best: 11.42/ 18.32 GFLOPS | Progress: (20/20) | 14.47 s Done.
+[Task 11/25] Current/Best: 7.08/ 21.05 GFLOPS | Progress: (4/20) | 3.60 s
+[Task 11/25] Current/Best: 15.44/ 21.05 GFLOPS | Progress: (8/20) | 6.16 s
+[Task 11/25] Current/Best: 19.19/ 21.05 GFLOPS | Progress: (12/20) | 8.03 s
+[Task 11/25] Current/Best: 22.67/ 22.67 GFLOPS | Progress: (16/20) | 10.34 s
+[Task 11/25] Current/Best: 23.98/ 23.98 GFLOPS | Progress: (20/20) | 12.92 s Done.
[Task 12/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 12/25] Current/Best: 13.21/ 13.21 GFLOPS | Progress: (4/20) | 3.73 s
-[Task 12/25] Current/Best: 8.46/ 17.06 GFLOPS | Progress: (8/20) | 5.86 s
-[Task 12/25] Current/Best: 14.10/ 19.95 GFLOPS | Progress: (12/20) | 7.92 s
-[Task 12/25] Current/Best: 13.05/ 19.95 GFLOPS | Progress: (16/20) | 11.55 s
-[Task 12/25] Current/Best: 14.44/ 19.95 GFLOPS | Progress: (20/20) | 13.69 s Done.
+[Task 12/25] Current/Best: 14.97/ 20.37 GFLOPS | Progress: (4/20) | 6.93 s
+[Task 12/25] Current/Best: 4.97/ 20.37 GFLOPS | Progress: (8/20) | 10.81 s
+[Task 12/25] Current/Best: 12.95/ 20.37 GFLOPS | Progress: (12/20) | 16.54 s
+[Task 12/25] Current/Best: 5.99/ 20.37 GFLOPS | Progress: (16/20) | 18.83 s
+[Task 12/25] Current/Best: 15.53/ 20.37 GFLOPS | Progress: (20/20) | 20.71 s Done.
[Task 13/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 13/25] Current/Best: 14.34/ 19.85 GFLOPS | Progress: (4/20) | 3.99 s
-[Task 13/25] Current/Best: 9.33/ 22.01 GFLOPS | Progress: (8/20) | 6.34 s
-[Task 13/25] Current/Best: 9.31/ 22.01 GFLOPS | Progress: (12/20) | 8.88 s
-[Task 13/25] Current/Best: 16.12/ 22.01 GFLOPS | Progress: (16/20) | 12.17 s
-[Task 13/25] Current/Best: 12.13/ 22.01 GFLOPS | Progress: (20/20) | 14.86 s Done.
+[Task 13/25] Current/Best: 11.80/ 18.83 GFLOPS | Progress: (4/20) | 4.58 s
+[Task 13/25] Current/Best: 6.44/ 18.83 GFLOPS | Progress: (8/20) | 6.47 s
+[Task 13/25] Current/Best: 12.85/ 18.83 GFLOPS | Progress: (12/20) | 9.14 s
+[Task 13/25] Current/Best: 18.75/ 20.59 GFLOPS | Progress: (16/20) | 11.75 s
+[Task 13/25] Current/Best: 3.08/ 20.59 GFLOPS | Progress: (20/20) | 16.03 s Done.
[Task 14/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 14/25] Current/Best: 11.85/ 16.74 GFLOPS | Progress: (4/20) | 4.91 s
-[Task 14/25] Current/Best: 6.53/ 16.74 GFLOPS | Progress: (8/20) | 9.89 s
-[Task 14/25] Current/Best: 14.39/ 18.96 GFLOPS | Progress: (12/20) | 16.93 s
-[Task 14/25] Current/Best: 13.12/ 18.96 GFLOPS | Progress: (16/20) | 22.32 s
-[Task 14/25] Current/Best: 14.45/ 18.96 GFLOPS | Progress: (20/20) | 24.35 s
-[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
- Done.
-
-[Task 15/25] Current/Best: 9.92/ 19.47 GFLOPS | Progress: (4/20) | 4.81 s
-[Task 15/25] Current/Best: 15.86/ 19.47 GFLOPS | Progress: (8/20) | 7.16 s
-[Task 15/25] Current/Best: 9.13/ 19.66 GFLOPS | Progress: (12/20) | 10.22 s
-[Task 15/25] Current/Best: 8.62/ 21.86 GFLOPS | Progress: (16/20) | 15.41 s
-[Task 15/25] Current/Best: 15.14/ 21.86 GFLOPS | Progress: (20/20) | 18.21 s
+[Task 14/25] Current/Best: 14.41/ 17.61 GFLOPS | Progress: (4/20) | 4.01 s
+[Task 14/25] Current/Best: 17.38/ 17.61 GFLOPS | Progress: (8/20) | 5.81 s
+[Task 14/25] Current/Best: 10.02/ 17.61 GFLOPS | Progress: (12/20) | 8.41 s
+[Task 14/25] Current/Best: 13.52/ 17.61 GFLOPS | Progress: (16/20) | 10.43 s
+[Task 14/25] Current/Best: 7.99/ 18.62 GFLOPS | Progress: (20/20) | 11.79 s
+[Task 15/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
+[Task 15/25] Current/Best: 15.01/ 17.23 GFLOPS | Progress: (4/20) | 3.71 s
+[Task 15/25] Current/Best: 5.74/ 20.16 GFLOPS | Progress: (8/20) | 5.71 s
+[Task 15/25] Current/Best: 16.94/ 21.21 GFLOPS | Progress: (12/20) | 7.17 s
+[Task 15/25] Current/Best: 17.01/ 21.21 GFLOPS | Progress: (16/20) | 9.15 s Done.
+
+[Task 15/25] Current/Best: 18.79/ 21.21 GFLOPS | Progress: (20/20) | 10.62 s
[Task 16/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 16/25] Current/Best: 7.58/ 18.47 GFLOPS | Progress: (4/20) | 4.34 s
-[Task 16/25] Current/Best: 14.01/ 18.47 GFLOPS | Progress: (8/20) | 6.28 s
-[Task 16/25] Current/Best: 17.39/ 20.14 GFLOPS | Progress: (12/20) | 7.58 s
-[Task 16/25] Current/Best: 18.21/ 20.79 GFLOPS | Progress: (16/20) | 9.46 s
-[Task 16/25] Current/Best: 7.25/ 20.79 GFLOPS | Progress: (20/20) | 11.85 s Done.
+[Task 16/25] Current/Best: 14.59/ 15.83 GFLOPS | Progress: (4/20) | 3.51 s
+[Task 16/25] Current/Best: 17.99/ 17.99 GFLOPS | Progress: (8/20) | 5.04 s
+[Task 16/25] Current/Best: 13.27/ 17.99 GFLOPS | Progress: (12/20) | 6.40 s
+[Task 16/25] Current/Best: 16.03/ 18.94 GFLOPS | Progress: (16/20) | 7.59 s
+[Task 16/25] Current/Best: 12.17/ 18.94 GFLOPS | Progress: (20/20) | 9.50 s Done.
[Task 17/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 17/25] Current/Best: 22.01/ 22.01 GFLOPS | Progress: (4/20) | 3.61 s
-[Task 17/25] Current/Best: 18.24/ 22.01 GFLOPS | Progress: (8/20) | 5.97 s
-[Task 17/25] Current/Best: 18.22/ 22.01 GFLOPS | Progress: (12/20) | 8.15 s
-[Task 17/25] Current/Best: 17.55/ 22.01 GFLOPS | Progress: (16/20) | 10.68 s
-[Task 17/25] Current/Best: 16.69/ 22.01 GFLOPS | Progress: (20/20) | 13.96 s Done.
+[Task 17/25] Current/Best: 8.20/ 12.76 GFLOPS | Progress: (4/20) | 4.24 s
+[Task 17/25] Current/Best: 17.01/ 17.01 GFLOPS | Progress: (8/20) | 6.54 s
+[Task 17/25] Current/Best: 19.29/ 19.29 GFLOPS | Progress: (12/20) | 9.42 s
+[Task 17/25] Current/Best: 7.10/ 19.29 GFLOPS | Progress: (16/20) | 12.71 s
+[Task 17/25] Current/Best: 14.63/ 19.29 GFLOPS | Progress: (20/20) | 14.62 s Done.
[Task 18/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 18/25] Current/Best: 12.36/ 13.26 GFLOPS | Progress: (4/20) | 5.34 s
-[Task 18/25] Current/Best: 10.44/ 14.67 GFLOPS | Progress: (8/20) | 8.77 s
-[Task 18/25] Current/Best: 20.83/ 20.83 GFLOPS | Progress: (12/20) | 10.83 s
-[Task 18/25] Current/Best: 6.54/ 20.83 GFLOPS | Progress: (16/20) | 16.50 s
-[Task 18/25] Current/Best: 9.34/ 20.83 GFLOPS | Progress: (20/20) | 18.07 s Done.
+[Task 18/25] Current/Best: 16.41/ 19.72 GFLOPS | Progress: (4/20) | 3.15 s
+[Task 18/25] Current/Best: 13.36/ 19.72 GFLOPS | Progress: (8/20) | 5.45 s
+[Task 18/25] Current/Best: 18.88/ 19.72 GFLOPS | Progress: (12/20) | 7.64 s
+[Task 18/25] Current/Best: 20.70/ 20.70 GFLOPS | Progress: (16/20) | 10.44 s
+[Task 18/25] Current/Best: 10.35/ 20.70 GFLOPS | Progress: (20/20) | 15.72 s Done.
[Task 19/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 19/25] Current/Best: 3.08/ 21.18 GFLOPS | Progress: (4/20) | 8.03 s
-[Task 19/25] Current/Best: 15.75/ 21.18 GFLOPS | Progress: (8/20) | 10.43 s
-[Task 19/25] Current/Best: 10.66/ 21.18 GFLOPS | Progress: (12/20) | 13.82 s
-[Task 19/25] Current/Best: 8.32/ 21.18 GFLOPS | Progress: (16/20) | 18.90 s
-[Task 19/25] Current/Best: 19.65/ 21.18 GFLOPS | Progress: (20/20) | 21.88 s Done.
+[Task 19/25] Current/Best: 18.02/ 18.02 GFLOPS | Progress: (4/20) | 4.68 s
+[Task 19/25] Current/Best: 10.56/ 20.65 GFLOPS | Progress: (8/20) | 8.65 s
+[Task 19/25] Current/Best: 8.62/ 21.41 GFLOPS | Progress: (12/20) | 11.79 s
+[Task 19/25] Current/Best: 17.04/ 21.41 GFLOPS | Progress: (16/20) | 14.01 s
+[Task 19/25] Current/Best: 5.35/ 22.02 GFLOPS | Progress: (20/20) | 17.23 s Done.
[Task 20/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 20/25] Current/Best: 18.12/ 18.12 GFLOPS | Progress: (4/20) | 3.90 s
-[Task 20/25] Current/Best: 14.77/ 18.12 GFLOPS | Progress: (8/20) | 7.44 s
-[Task 20/25] Current/Best: 21.75/ 21.75 GFLOPS | Progress: (12/20) | 10.25 s
-[Task 20/25] Current/Best: 9.23/ 21.75 GFLOPS | Progress: (16/20) | 12.61 s
-[Task 20/25] Current/Best: 11.79/ 21.75 GFLOPS | Progress: (20/20) | 14.62 s
-[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
- Done.
-
-[Task 21/25] Current/Best: 12.77/ 12.77 GFLOPS | Progress: (4/20) | 3.08 s
-[Task 21/25] Current/Best: 11.01/ 16.78 GFLOPS | Progress: (8/20) | 6.84 s
-[Task 21/25] Current/Best: 8.46/ 16.78 GFLOPS | Progress: (12/20) | 11.27 s
-[Task 21/25] Current/Best: 7.25/ 16.78 GFLOPS | Progress: (16/20) | 13.32 s
-[Task 21/25] Current/Best: 16.90/ 18.90 GFLOPS | Progress: (20/20) | 14.77 s
+[Task 20/25] Current/Best: 3.08/ 18.19 GFLOPS | Progress: (4/20) | 4.99 s
+[Task 20/25] Current/Best: 14.49/ 18.19 GFLOPS | Progress: (8/20) | 7.53 s
+[Task 20/25] Current/Best: 5.26/ 18.19 GFLOPS | Progress: (12/20) | 10.24 s
+[Task 20/25] Current/Best: 5.21/ 18.19 GFLOPS | Progress: (16/20) | 12.68 s
+[Task 20/25] Current/Best: 5.14/ 18.19 GFLOPS | Progress: (20/20) | 17.07 s
+[Task 21/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
+[Task 21/25] Current/Best: 9.56/ 15.00 GFLOPS | Progress: (4/20) | 3.20 s
+[Task 21/25] Current/Best: 17.24/ 18.93 GFLOPS | Progress: (8/20) | 4.96 s Done.
+
+[Task 21/25] Current/Best: 10.58/ 18.93 GFLOPS | Progress: (12/20) | 7.23 s
+[Task 21/25] Current/Best: 17.72/ 20.41 GFLOPS | Progress: (16/20) | 8.53 s
+[Task 21/25] Current/Best: 13.98/ 20.41 GFLOPS | Progress: (20/20) | 10.38 s Done.
+
[Task 22/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 22/25] Current/Best: 14.02/ 14.02 GFLOPS | Progress: (4/20) | 3.91 s
-[Task 22/25] Current/Best: 14.91/ 14.91 GFLOPS | Progress: (8/20) | 6.20 s
-[Task 22/25] Current/Best: 11.30/ 19.51 GFLOPS | Progress: (12/20) | 8.25 s
-[Task 22/25] Current/Best: 20.91/ 20.91 GFLOPS | Progress: (16/20) | 9.46 s
-[Task 22/25] Current/Best: 7.68/ 20.91 GFLOPS | Progress: (20/20) | 11.84 s Done.
+[Task 22/25] Current/Best: 14.29/ 15.30 GFLOPS | Progress: (4/20) | 2.98 s
+[Task 22/25] Current/Best: 7.30/ 16.01 GFLOPS | Progress: (8/20) | 4.61 s
+[Task 22/25] Current/Best: 8.99/ 16.01 GFLOPS | Progress: (12/20) | 6.95 s
+[Task 22/25] Current/Best: 6.15/ 16.01 GFLOPS | Progress: (16/20) | 9.71 s
+[Task 22/25] Current/Best: 10.69/ 16.01 GFLOPS | Progress: (20/20) | 12.19 s Done.
[Task 23/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 23/25] Current/Best: 12.31/ 19.78 GFLOPS | Progress: (4/20) | 5.20 s
-[Task 23/25] Current/Best: 10.89/ 19.78 GFLOPS | Progress: (8/20) | 8.63 s
-[Task 23/25] Current/Best: 5.10/ 19.78 GFLOPS | Progress: (12/20) | 12.93 s
-[Task 23/25] Current/Best: 20.03/ 21.42 GFLOPS | Progress: (16/20) | 15.00 s
-[Task 23/25] Current/Best: 10.62/ 21.42 GFLOPS | Progress: (20/20) | 17.07 s Done.
+[Task 23/25] Current/Best: 12.56/ 19.04 GFLOPS | Progress: (4/20) | 3.65 s
+[Task 23/25] Current/Best: 8.99/ 23.74 GFLOPS | Progress: (8/20) | 5.86 s
+[Task 23/25] Current/Best: 18.08/ 23.74 GFLOPS | Progress: (12/20) | 8.01 s
+[Task 23/25] Current/Best: 13.76/ 23.74 GFLOPS | Progress: (16/20) | 10.63 s
+[Task 23/25] Current/Best: 15.81/ 23.74 GFLOPS | Progress: (20/20) | 13.81 s Done.
[Task 24/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s
-[Task 24/25] Current/Best: 5.51/ 9.41 GFLOPS | Progress: (4/20) | 12.24 s
-[Task 24/25] Current/Best: 9.39/ 10.11 GFLOPS | Progress: (8/20) | 14.70 s
-[Task 24/25] Current/Best: 0.58/ 10.11 GFLOPS | Progress: (12/20) | 25.50 s
-[Task 24/25] Current/Best: 3.52/ 10.11 GFLOPS | Progress: (16/20) | 31.50 s
-[Task 24/25] Current/Best: 3.22/ 10.11 GFLOPS | Progress: (20/20) | 42.04 s
+[Task 24/25] Current/Best: 5.36/ 5.43 GFLOPS | Progress: (4/20) | 12.18 s
+[Task 24/25] Current/Best: 0.53/ 5.95 GFLOPS | Progress: (8/20) | 22.93 s
+[Task 24/25] Current/Best: 4.59/ 9.74 GFLOPS | Progress: (12/20) | 24.72 s
+[Task 24/25] Current/Best: 7.78/ 10.05 GFLOPS | Progress: (16/20) | 30.57 s
+[Task 24/25] Current/Best: 9.95/ 10.05 GFLOPS | Progress: (20/20) | 41.28 s
[Task 25/25] Current/Best: 0.00/ 0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
-[Task 25/25] Current/Best: 1.55/ 5.74 GFLOPS | Progress: (4/20) | 13.06 s
-[Task 25/25] Current/Best: 9.49/ 9.49 GFLOPS | Progress: (8/20) | 23.73 s
-[Task 25/25] Current/Best: 5.67/ 9.49 GFLOPS | Progress: (12/20) | 34.44 s
-[Task 25/25] Current/Best: 3.45/ 9.49 GFLOPS | Progress: (16/20) | 45.14 s
-[Task 25/25] Current/Best: 1.55/ 9.49 GFLOPS | Progress: (20/20) | 47.23 s
+[Task 25/25] Current/Best: 5.99/ 7.36 GFLOPS | Progress: (4/20) | 3.97 s
+[Task 25/25] Current/Best: 1.55/ 7.36 GFLOPS | Progress: (8/20) | 14.28 s
+[Task 25/25] Current/Best: 8.68/ 8.68 GFLOPS | Progress: (12/20) | 25.00 s
+[Task 25/25] Current/Best: 7.46/ 8.68 GFLOPS | Progress: (16/20) | 36.58 s
+[Task 25/25] Current/Best: 3.87/ 8.83 GFLOPS | Progress: (20/20) | 47.29 s
</pre></div>
</div>
<p>The output from this tuning process will look something like this:</p>
@@ -937,7 +937,7 @@ model using optimized operators to speed up our computations.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>class='n02123045 tabby, tabby cat' with probability=0.621104
-class='n02123159 tiger cat' with probability=0.356378
+class='n02123159 tiger cat' with probability=0.356379
class='n02124075 Egyptian cat' with probability=0.019712
class='n02129604 tiger, Panthera tigris' with probability=0.001215
class='n04040759 radiator' with probability=0.000262
@@ -974,8 +974,8 @@ improvement in comparing the optimized model to the unoptimized model.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"unoptimized: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</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">unoptimized</span></a><span class="p">))</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>optimized: {'mean': 414.944322750016, 'median': 414.7271163500591, 'std': 3.30161131721889}
-unoptimized: {'mean': 512.4635806899823, 'median': 512.755924799967, 'std': 2.390858674269217}
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>optimized: {'mean': 430.3839928100001, 'median': 430.16968795001276, 'std': 3.1709376226457264}
+unoptimized: {'mean': 513.3250477999992, 'median': 513.9237501499963, 'std': 2.7904373937880096}
</pre></div>
</div>
</div>
@@ -989,7 +989,7 @@ models.</p>
<p>Here we presented a simple example using ResNet-50 v2 locally. However, TVM
supports many more features including cross-compilation, remote execution and
profiling/benchmarking.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 10 minutes 55.820 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 10 minutes 36.884 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-tutorial-autotvm-relay-x86-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../_downloads/57a45d9bef1af358191e7d50043e652c/autotvm_relay_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">autotvm_relay_x86.py</span></code></a></p>
diff --git a/docs/tutorial/cross_compilation_and_rpc.html b/docs/tutorial/cross_compilation_and_rpc.html
index f25f339087..67ef1c667f 100644
--- a/docs/tutorial/cross_compilation_and_rpc.html
+++ b/docs/tutorial/cross_compilation_and_rpc.html
@@ -532,7 +532,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"</span><span class="si">%g</span><span class="s2"> secs/op"</span> <span class="o">%</span> <span class="n">cost</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.171e-07 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.255e-07 secs/op
</pre></div>
</div>
</div>
diff --git a/docs/tutorial/index.html b/docs/tutorial/index.html
index 3545c8ff21..05f7a1749a 100644
--- a/docs/tutorial/index.html
+++ b/docs/tutorial/index.html
@@ -366,7 +366,7 @@ prepared to dig into TVM more deeply.</p>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this section, we will work with TVMC, the TVM command line driver. TVMC is a tool that expos..."><img alt="Compiling and Optimizing a Model with TVMC" src="../_images/sphx_glr_tvmc_command_line_driver_thumb.png" />
<p><a class="reference internal" href="tvmc_command_line_driver.html#sphx-glr-tutorial-tvmc-command-line-driver-py"><span class="std std-ref">Compiling and Optimizing a Model with TVMC</span></a></p>
<div class="sphx-glr-thumbnail-title">Compiling and Optimizing a Model with TVMC</div>
-</div><div class="sphx-glr-thumbcontainer" tooltip="Hi! Here we explain the scripting tool designed for the complete TVM beginner. π ..."><img alt="Getting Starting using TVMC Python: a high-level API for TVM" src="../_images/sphx_glr_tvmc_python_thumb.png" />
+</div><div class="sphx-glr-thumbcontainer" tooltip="Hi! Here we explain the scripting tool designed for the complete TVM beginner. π"><img alt="Getting Starting using TVMC Python: a high-level API for TVM" src="../_images/sphx_glr_tvmc_python_thumb.png" />
<p><a class="reference internal" href="tvmc_python.html#sphx-glr-tutorial-tvmc-python-py"><span class="std std-ref">Getting Starting using TVMC Python: a high-level API for TVM</span></a></p>
<div class="sphx-glr-thumbnail-title">Getting Starting using TVMC Python: a high-level API for TVM</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In the `TVMC Tutorial <tvmc_command_line_driver>`_, we covered how to compile, run, and tune a ..."><img alt="Compiling and Optimizing a Model with the Python Interface (AutoTVM)" src="../_images/sphx_glr_autotvm_relay_x86_thumb.png" />
diff --git a/docs/tutorial/intro_topi.html b/docs/tutorial/intro_topi.html
index 76a1ed8d7f..64c0e30eae 100644
--- a/docs/tutorial/intro_topi.html
+++ b/docs/tutorial/intro_topi.html
@@ -489,7 +489,7 @@ we can schedule the following series of operations ending with <code class="code
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/ir.html#tvm.ir.Array" title="tvm.ir.Array" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">sg</span><span class="o">.</span><span class="n">stages</span></a><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[stage(a, placeholder(a, 0x20c637f0)), stage(b, placeholder(b, 0x267c3b90)), 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=[ [...]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[stage(a, placeholder(a, 0x227e1ed0)), stage(b, placeholder(b, 0x228cfe80)), 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=[ [...]
</pre></div>
</div>
<p>We can test the correctness by comparing with <code class="code docutils literal notranslate"><span class="pre">numpy</span></code> result as follows</p>
diff --git a/docs/tutorial/sg_execution_times.html b/docs/tutorial/sg_execution_times.html
index 1bc64b0001..e62121614f 100644
--- a/docs/tutorial/sg_execution_times.html
+++ b/docs/tutorial/sg_execution_times.html
@@ -332,7 +332,7 @@
<div class="section" id="computation-times">
<span id="sphx-glr-tutorial-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">ΒΆ</a></h1>
-<p><strong>14:43.637</strong> total execution time for <strong>tutorial</strong> files:</p>
+<p><strong>13:49.889</strong> total execution time for <strong>tutorial</strong> files:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 83%" />
@@ -341,54 +341,54 @@
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="autotvm_relay_x86.html#sphx-glr-tutorial-autotvm-relay-x86-py"><span class="std std-ref">Compiling and Optimizing a Model with the Python Interface (AutoTVM)</span></a> (<code class="docutils literal notranslate"><span class="pre">autotvm_relay_x86.py</span></code>)</p></td>
-<td><p>10:55.820</p></td>
+<td><p>10:36.884</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="auto_scheduler_matmul_x86.html#sphx-glr-tutorial-auto-scheduler-matmul-x86-py"><span class="std std-ref">Optimizing Operators with Auto-scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">auto_scheduler_matmul_x86.py</span></code>)</p></td>
-<td><p>01:34.517</p></td>
+<td><p>01:12.434</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tensor_expr_get_started.html#sphx-glr-tutorial-tensor-expr-get-started-py"><span class="std std-ref">Working with Operators Using Tensor Expression</span></a> (<code class="docutils literal notranslate"><span class="pre">tensor_expr_get_started.py</span></code>)</p></td>
-<td><p>01:01.330</p></td>
+<td><p>01:01.798</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="relay_quick_start.html#sphx-glr-tutorial-relay-quick-start-py"><span class="std std-ref">Quick Start Tutorial for Compiling Deep Learning Models</span></a> (<code class="docutils literal notranslate"><span class="pre">relay_quick_start.py</span></code>)</p></td>
-<td><p>00:35.489</p></td>
+<td><p>00:35.253</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="autotvm_matmul_x86.html#sphx-glr-tutorial-autotvm-matmul-x86-py"><span class="std std-ref">Optimizing Operators with Schedule Templates and AutoTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">autotvm_matmul_x86.py</span></code>)</p></td>
-<td><p>00:35.011</p></td>
+<td><p>00:21.336</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="intro_topi.html#sphx-glr-tutorial-intro-topi-py"><span class="std std-ref">Introduction to TOPI</span></a> (<code class="docutils literal notranslate"><span class="pre">intro_topi.py</span></code>)</p></td>
-<td><p>00:00.740</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="tensor_ir_blitz_course.html#sphx-glr-tutorial-tensor-ir-blitz-course-py"><span class="std std-ref">Blitz Course to TensorIR</span></a> (<code class="docutils literal notranslate"><span class="pre">tensor_ir_blitz_course.py</span></code>)</p></td>
+<td><p>00:01.266</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="tensor_ir_blitz_course.html#sphx-glr-tutorial-tensor-ir-blitz-course-py"><span class="std std-ref">Blitz Course to TensorIR</span></a> (<code class="docutils literal notranslate"><span class="pre">tensor_ir_blitz_course.py</span></code>)</p></td>
-<td><p>00:00.541</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="intro_topi.html#sphx-glr-tutorial-intro-topi-py"><span class="std std-ref">Introduction to TOPI</span></a> (<code class="docutils literal notranslate"><span class="pre">intro_topi.py</span></code>)</p></td>
+<td><p>00:00.733</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-tutorial-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.182</p></td>
+<td><p>00:00.174</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="introduction.html#sphx-glr-tutorial-introduction-py"><span class="std std-ref">Introduction</span></a> (<code class="docutils literal notranslate"><span class="pre">introduction.py</span></code>)</p></td>
-<td><p>00:00.005</p></td>
+<td><p>00:00.006</p></td>
<td><p>0.0 MB</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="uma.html#sphx-glr-tutorial-uma-py"><span class="std std-ref">Making your Hardware Accelerator TVM-ready with UMA</span></a> (<code class="docutils literal notranslate"><span class="pre">uma.py</span></code>)</p></td>
<td><p>00:00.001</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="tvmc_python.html#sphx-glr-tutorial-tvmc-python-py"><span class="std std-ref">Getting Starting using TVMC Python: a high-level API for TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">tvmc_python.py</span></code>)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="tvmc_command_line_driver.html#sphx-glr-tutorial-tvmc-command-line-driver-py"><span class="std std-ref">Compiling and Optimizing a Model with TVMC</span></a> (<code class="docutils literal notranslate"><span class="pre">tvmc_command_line_driver.py</span></code>)</p></td>
<td><p>00:00.001</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="tvmc_command_line_driver.html#sphx-glr-tutorial-tvmc-command-line-driver-py"><span class="std std-ref">Compiling and Optimizing a Model with TVMC</span></a> (<code class="docutils literal notranslate"><span class="pre">tvmc_command_line_driver.py</span></code>)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="install.html#sphx-glr-tutorial-install-py"><span class="std std-ref">Installing TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">install.py</span></code>)</p></td>
<td><p>00:00.001</p></td>
<td><p>0.0 MB</p></td>
</tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="install.html#sphx-glr-tutorial-install-py"><span class="std std-ref">Installing TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">install.py</span></code>)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="tvmc_python.html#sphx-glr-tutorial-tvmc-python-py"><span class="std std-ref">Getting Starting using TVMC Python: a high-level API for TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">tvmc_python.py</span></code>)</p></td>
<td><p>00:00.001</p></td>
<td><p>0.0 MB</p></td>
</tr>
diff --git a/docs/tutorial/tensor_expr_get_started.html b/docs/tutorial/tensor_expr_get_started.html
index b7f6c68c60..d1972fb5fb 100644
--- a/docs/tutorial/tensor_expr_get_started.html
+++ b/docs/tutorial/tensor_expr_get_started.html
@@ -543,7 +543,7 @@ helper function to run a profile of the TVM generated code.</p>
<span class="n">evaluate_addition</span><span class="p">(</span><span class="n">fadd</span><span class="p">,</span> <a href="../reference/api/python/target.html#tvm.target.Target" title="tvm.target.Target" class="sphx-glr-backref-module-tvm-target sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">tgt</span></a><span class="p">,</span> <span class="s2">"naive"</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#list" ti [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.000007
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.000008
naive: 0.000007
</pre></div>
</div>
@@ -593,7 +593,7 @@ compile and run this new schedule with the parallel operation applied:</p>
<span class="n">evaluate_addition</span><span class="p">(</span><span class="n">fadd_parallel</span><span class="p">,</span> <a href="../reference/api/python/target.html#tvm.target.Target" title="tvm.target.Target" class="sphx-glr-backref-module-tvm-target sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">tgt</span></a><span class="p">,</span> <span class="s2">"parallel"</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.h [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>parallel: 0.000008
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>parallel: 0.000007
</pre></div>
</div>
</div>
@@ -665,10 +665,10 @@ factor to be the number of threads on your CPU.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Operator Timing Performance
- numpy 7.2879099934652916e-06 1.0
- naive 6.704599999999999e-06 0.9199619652289452
-parallel 8.1247e-06 1.1148189271389215
- vector 2.4509900000000004e-05 3.3630903814642084
+ numpy 8.347169998614845e-06 1.0
+ naive 6.685900000000001e-06 0.800978056168675
+parallel 6.939199999999999e-06 0.8313236703159886
+ vector 2.48709e-05 2.9795607378461386
</pre></div>
</div>
<div class="admonition-code-specialization admonition">
@@ -984,7 +984,7 @@ matrix multiplication.</p>
<span class="n">answer</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">numpy</span><span class="p">(),</span> <span class="n">b</span><span class="o">.</span><span class="n">numpy</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.018194
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018353
</pre></div>
</div>
<p>Now we write a basic matrix multiplication using TVM TE and verify that it
@@ -1025,7 +1025,7 @@ optimizations.</p>
<span class="n">evaluate_operation</span><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">s</span></a><span class="p">,</span> <span class="p">[</span><a href="../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>none: 3.417181
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>none: 3.420819
</pre></div>
</div>
<p>Letβs take a look at the intermediate representation of the operator and
@@ -1090,7 +1090,7 @@ schedule.</p>
<span class="n">evaluate_operation</span><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">s</span></a><span class="p">,</span> <span class="p">[</span><a href="../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>blocking: 0.316463
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>blocking: 0.317421
</pre></div>
</div>
<p>By reordering the computation to take advantage of caching, you should see a
@@ -1149,7 +1149,7 @@ already cache friendly from our previous optimizations.</p>
<span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/driver.html#tvm.lower" title="tvm.lower" class="sphx-glr-backref-module-tvm sphx-glr-backref-type-py-function"><span class="n">tvm</span><span class="o">.</span><span class="n">lower</span></a><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>vectorization: 0.339958
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>vectorization: 0.348006
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1204,7 +1204,7 @@ more cache friendly.</p>
<span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/driver.html#tvm.lower" title="tvm.lower" class="sphx-glr-backref-module-tvm sphx-glr-backref-type-py-function"><span class="n">tvm</span><span class="o">.</span><span class="n">lower</span></a><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>loop permutation: 0.115822
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>loop permutation: 0.117689
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1280,7 +1280,7 @@ optimized schedule.</p>
<span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/driver.html#tvm.lower" title="tvm.lower" class="sphx-glr-backref-module-tvm sphx-glr-backref-type-py-function"><span class="n">tvm</span><span class="o">.</span><span class="n">lower</span></a><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>array packing: 0.107497
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>array packing: 0.109460
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1354,7 +1354,7 @@ to `C</cite> when all the block results are ready.</p>
<span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/driver.html#tvm.lower" title="tvm.lower" class="sphx-glr-backref-module-tvm sphx-glr-backref-type-py-function"><span class="n">tvm</span><span class="o">.</span><span class="n">lower</span></a><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>block caching: 0.110082
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>block caching: 0.110527
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1421,7 +1421,7 @@ of thread-level parallelization.</p>
<span class="nb">print</span><span class="p">(</span><a href="../reference/api/python/driver.html#tvm.lower" title="tvm.lower" class="sphx-glr-backref-module-tvm sphx-glr-backref-type-py-function"><span class="n">tvm</span><span class="o">.</span><span class="n">lower</span></a><span class="p">(</span><a href="../reference/api/python/te.html#tvm.te.Schedule" title="tvm.te.Schedule" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>parallelization: 0.145833
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>parallelization: 0.146528
@main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1483,13 +1483,13 @@ working, we can compare the results.</p>
</pre></div>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span> Operator Timing Performance
- none 3.4171806729000003 1.0
- blocking 0.3164633107 0.09260947576161739
- vectorization 0.3399575221 0.09948479598870436
-loop permutation 0.1158220772 0.033894045497368235
- array packing 0.1074970274 0.03145781206493022
- block caching 0.11008220630000001 0.03221433597965964
- parallelization 0.1458327342 0.04267633120968071
+ none 3.42081869 1.0
+ blocking 0.3174209009 0.09279091634640245
+ vectorization 0.3480062281 0.1017318541661733
+loop permutation 0.1176892286 0.034403819455277825
+ array packing 0.10946006999999999 0.031998208592575246
+ block caching 0.110526707 0.032310016114885064
+ parallelization 0.1465279652 0.04283418049262354
</pre></div>
</div>
<p>Note that the outputs on the web page reflect the running times on a
@@ -1521,7 +1521,7 @@ is</p>
you can build generic templates of the matrix multiplication and other
operations with tunable parameters that allows you to automatically optimize
the computation for specific platforms.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 1.330 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes 1.798 seconds)</p>
<div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-tutorial-tensor-expr-get-started-py">
<div class="sphx-glr-download sphx-glr-download-python docutils container">
<p><a class="reference download internal" download="" href="../_downloads/40a01cffb015a67aaec0fad7e27cf80d/tensor_expr_get_started.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">tensor_expr_get_started.py</span></code></a></p>