echuraev commented on code in PR #13867:
URL: https://github.com/apache/tvm/pull/13867#discussion_r1092772481


##########
docs/how_to/deploy/adreno.rst:
##########
@@ -15,41 +15,60 @@
     specific language governing permissions and limitations
     under the License.
 
-Deploy to Adreno GPU
-=======================================
+Deploy to Adreno™ GPU
+====================

Review Comment:
   ```suggestion
   =====================
   ```



##########
docs/how_to/deploy/adreno.rst:
##########
@@ -65,134 +84,667 @@ Reasons of using textures:
 Overall, with textures, it is possible to achieve a significant performance 
boost
 compared to OpenCL buffer based solutions.
 
-.. _building_tvm_for_adreno:
+.. _about_openclml:
+
+About OpenCLML
+--------------
+
+OpenCLML is a SDK released by Qualcomm that provides accelerated deep learning 
operators.
+These operators are exposed as an extension "cl_qcom_ml_ops" to standard 
OpenCL specification.
+Please refer `Accelerate your models with our OpenCL ML SDK 
<https://developer.qualcomm.com/blog/accelerate-your-models-our-opencl-ml-sdk>`_
 for more details.
+
+OpenCLML is integrated into TVM as a `BYOC 
<https://tvm.apache.org/docs/dev/how_to/relay_bring_your_own_codegen.html?highlight=bring%20your%20own>`_
 solution.
+OpenCLML operators can use same context and the operatrors can be enqueued on 
same command queue if native OpenCL.
+We took advantage of this to avoid any context switching over heads while 
fallback to native OpenCL.
+
+
+.. _build_deploy:
+
+TVM for Adreno™

Review Comment:
   Originally, this document was designed to be a brief introduction to the 
Adreno usage in TVM. And details related to deployment were described here: 
https://tvm.apache.org/docs/how_to/deploy_models/deploy_model_on_android.html
   One of the benefit of `deploy_model_on_android` document was that user was 
able to run this script locally with python and run an example on his android. 
You have removed a link to this document.
   
   Also, this `rst` document starts to be much bigger.  And it is more 
difficult to get quickly some basic knowledge about Adreno. Previously, section 
`Build and deploy model for Adreno` briefly showed the peculiarities of the 
Adreno compilation. For example, differences in the generated kernels with 
`opencl` and `opencl --device=adreno` and also some information about mixed 
precision.
   
   My suggestions are:
   1. Extent `Building TVM for Adreno` section by the information about 
building from docker container.
   2. For sections about running model on the device and using CLML, create a 
new doc file or update 
[deploy_model_on_adreno](https://github.com/apache/tvm/blob/main/gallery/how_to/deploy_models/deploy_model_on_adreno.py)
   
   @srkreddy1238 what do you think about it? I would like to keep this `rst` 
file as a brief introduction to Adreno and all details move to the 
`gallery/how_to/deploy_models`.



##########
docs/how_to/deploy/adreno.rst:
##########
@@ -15,41 +15,60 @@
     specific language governing permissions and limitations
     under the License.
 
-Deploy to Adreno GPU
-=======================================
+Deploy to Adreno™ GPU
+====================
 
-**Authors**: Daniil Barinov, Egor Churaev, Andrey Malyshev
+**Authors**: Daniil Barinov, Egor Churaev, Andrey Malyshev, Siva Rama Krishna
 
 Introduction
 ------------
 
-Adreno is a series of graphics processing unit (GPU) semiconductor
+Adreno™ is a series of graphics processing unit (GPU) semiconductor
 intellectual property cores developed by Qualcomm and used in many of
 their SoCs.
 
-The Adreno GPU accelerates the rendering of complex geometries to
+The Adreno™ GPU accelerates the rendering of complex geometries to
 deliver high-performance graphics and a rich user experience with low
 power consumption.
 
-This guide will demonstrate :ref:`the benefits of using textures with 
Adreno<advantages_of_the_textures>`,
-how to :ref:`build TVM with OpenCL<building_tvm_for_adreno>` (needed by Adreno 
devices) and TVM RPC
-enabled. It will also provide :ref:`example 
code<build_and_deploy_model_for_adreno>` to better understand the differences 
in compiling and deploying models
-for Adreno devices.
+TVM supports deep learning acceleration on Adreno™ GPU by native OpenCL 
backend of TVM and
+also through OpenCLML backend. Native OpenCL backend of TVM is enhanced to 
make it
+Adreno™ friendly by incorporating texture memory usage and Adreno™ friendly 
layouts.
+OpenCLML is an SDK release by Qualcomm that provides kernel acceleration 
library
+for most of the deep learning operators.
 
-.. _advantages_of_the_textures:
+This guide is organized to demonstrate various design aspects of
 
-Advantages of the Textures
---------------------------
+- :ref:`OpenCL Backend Ehnahcements<opencl_enhancements>`
+- :ref:`About OpenCLML<about_openclml>`
+- :ref:`Build and Deploy<build_deploy>`
 
-One of the Adreno's advantages is the clever handling of textures. At
+
+
+.. how to :ref:`build TVM with OpenCL<building_tvm_for_adreno>` (needed by 
Adreno™ devices) and TVM RPC
+.. enabled. It will also provide :ref:`example 
code<build_and_deploy_model_for_adreno>` to better understand the differences 
in compiling and deploying models
+.. for Adreno™ devices.

Review Comment:
   This text is not displayed in the final documentation. Screenshot:
   <img width="599" alt="image" 
src="https://user-images.githubusercontent.com/5525113/215960834-d554ded0-5d55-41c6-bef5-f484c78c2028.png";>
   



##########
docs/how_to/deploy/adreno.rst:
##########
@@ -65,134 +84,667 @@ Reasons of using textures:
 Overall, with textures, it is possible to achieve a significant performance 
boost
 compared to OpenCL buffer based solutions.
 
-.. _building_tvm_for_adreno:
+.. _about_openclml:
+
+About OpenCLML
+--------------
+
+OpenCLML is a SDK released by Qualcomm that provides accelerated deep learning 
operators.
+These operators are exposed as an extension "cl_qcom_ml_ops" to standard 
OpenCL specification.
+Please refer `Accelerate your models with our OpenCL ML SDK 
<https://developer.qualcomm.com/blog/accelerate-your-models-our-opencl-ml-sdk>`_
 for more details.
+
+OpenCLML is integrated into TVM as a `BYOC 
<https://tvm.apache.org/docs/dev/how_to/relay_bring_your_own_codegen.html?highlight=bring%20your%20own>`_
 solution.
+OpenCLML operators can use same context and the operatrors can be enqueued on 
same command queue if native OpenCL.

Review Comment:
   ```suggestion
   OpenCLML operators can use same context and can be enqueued on same command 
queue as used in native OpenCL.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to