hogepodge commented on a change in pull request #11:
URL: https://github.com/apache/tvm-rfcs/pull/11#discussion_r687806986
##########
File path: rfcs/0011_Arm_Ethos-U_Integration.md
##########
@@ -5,35 +5,34 @@
# Motivation
-Arm® Ethos™-U is a series of NPUs that will enable low-cost and highly
efficient AI solutions for a wide range of embedded devices. This RFC
introduces the port of Ethos-U into the uTVM compilation flow. The process of
compilation relies on the multiple levels of abstraction in TVM and a variety
of analysis and optimisation passes to produce c output. In the process of
compilation, we rely on the many levels of TVM's IR (and the passes) to perform
optimizations to create c-sources that can work with current microTVM
deployments.
+Arm® Ethos™-U is a series of NPUs that will enable low-cost and highly
efficient AI solutions for a wide range of embedded devices. This RFC
introduces the port of the NPU into the uTVM compilation flow. The process of
compilation relies on the multiple levels of abstraction in TVM and a variety
of analysis and optimisation passes to produce c output. In the process of
compilation, we rely on the many levels of TVM's IR (and the passes) to perform
optimizations to create c-sources that can work with current microTVM
deployments.
Review comment:
Just as a style convention, I'd suggest defining initialisms and
acronyms the first time they appear in a text.
##########
File path: rfcs/0011_Arm_Ethos-U_Integration.md
##########
@@ -125,12 +127,9 @@ primfn(placeholder_1: handle, placeholder_2: handle,
placeholder_3: handle, etho
}
```
+### C4. Translating TIR Primfuncs to C-sources that call to the driver APIs to
perform the execution.
-Given, that the complexity of this component, we'll be putting up a seperate
RFC to describe the functionality of Ethos™-U TE/TIR Compiler in detail.
-
-### C4. Translating Ethos™-U TIR Primfuncs to C-sources that call to the
Ethos™-U driver APIs to perform the execution.
-
-Ethos™-U hardware is used from the host CPU via invoking a driver API call
with a command stream (a Ethos™-U specific binary artefact) that describes the
hardware operators that need to execute. This component will use the TIR
Primfunc to extract the hardware operators and buffer information. Thereafter,
we'll be using Arm® Vela (https://pypi.org/project/ethos-u-vela/) compiler's
backend python APIs to convert the TIR Primfunc to a command stream. Finally,
the generated command stream will be wrapped in a c-source that invokes it
using the Ethos™-U driver APIs.
+The hardware is used from the host CPU via invoking a driver API call with a
command stream (a hardware specific binary artefact) that describes the
hardware operators that need to execute. This component will use the TIR
Primfunc to extract the hardware operators and buffer information. Thereafter,
we'll be using Arm® Vela (https://pypi.org/project/ethos-u-vela/) compiler's
backend python APIs to convert the TIR Primfunc to a command stream. Finally,
the generated command stream will be wrapped in a c-source that invokes it
using the driver APIs.
Review comment:
More of a question about style, are we ok with mixing British and
American spellings in documents?
##########
File path: rfcs/0011_Arm_Ethos-U_Integration.md
##########
@@ -192,42 +191,42 @@ TVM_DLL int32_t ethosu_0(TVMValue* args, int* type_code,
int num_args, TVMValue*
## Build system
-The only dependency of TVM compilation for Ethos™-U is using Arm® Vela
compiler (https://pypi.org/project/ethos-u-vela/).
-However, to run inferences with the sources generated by TVM, we would need to
use the Ethos-U core driver
(https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/about/). The
user is expected to include the necessary sources if they were looking to use
this bare-metal.
+The only dependency of TVM compilation for Ethos™-U NPU is using [Arm® Vela
compiler](https://pypi.org/project/ethos-u-vela/).
+However, to run inferences with the sources generated by TVM, we would need to
use the [Ethos™-U NPU core
driver](https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/about/).
The user is expected to include the necessary sources if they were looking to
use this bare-metal.
## Testing
Firstly, we will be providing unit tests for the components described above.
-Secondly, we are planning to use Arm® Corestone™-300 Fixed Virtual Platform
(FVP – https://developer.arm.com/ip-products/subsystem/corstone/corstone-300)
in the CI to be able to simulate the codegen'd artifacts of TVM on a SoC that
has Arm® Cortex™-M55 and Ethos™-U55.
+Secondly, we are planning to use [Arm® Corstone™-300 reference
system](https://developer.arm.com/ip-products/subsystem/corstone/corstone-300)
in the CI to be able to simulate the codegen'd artifacts of TVM on a SoC that
has Arm® Cortex™-M55 and Ethos™-U55.
Review comment:
Will there ever be plans to provide third party CI for testing on a
hardware cloud?
--
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]