From 60795e642dadc75bca310c1be2b8331cd678401d Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Tue, 6 Jul 2021 12:11:13 +0100 Subject: [PATCH 1/8] Arm Ethos-U Integration This commit adds markdown for Arm Ethos-U Integration into TVM along with the diagrams used within the RFC. Change-Id: I56b8918628f93aadfc08068a4adefaf880664ca7 --- rfcs/000x_Arm_Ethos-U_Integration.md | 233 ++++++++++++++++++++++ rfcs/assets/000x/ethosu_compiler_arch.png | Bin 0 -> 85701 bytes rfcs/assets/000x/ethosu_hw.png | Bin 0 -> 27872 bytes 3 files changed, 233 insertions(+) create mode 100644 rfcs/000x_Arm_Ethos-U_Integration.md create mode 100644 rfcs/assets/000x/ethosu_compiler_arch.png create mode 100644 rfcs/assets/000x/ethosu_hw.png diff --git a/rfcs/000x_Arm_Ethos-U_Integration.md b/rfcs/000x_Arm_Ethos-U_Integration.md new file mode 100644 index 00000000..5ff8a365 --- /dev/null +++ b/rfcs/000x_Arm_Ethos-U_Integration.md @@ -0,0 +1,233 @@ + Feature Name: Arm® Ethos™-U Integration + Start Date: + RFC PR: + GitHub Issue: + +# 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. + +## Scope: + +### Ethos™-U55 + +![](./assets/000x/ethosu_hw.png) + +Ethos™-U55 is a NPU that is designed to uplift ML performance by working as an offload target for micro-controllers. It can accelerate quantized ML operators such as Convolution2D, Depthwise Convolution, Pooling and Elementwise Operators. For convolution-type operators, Ethos-U55 supports hardware enabled loseless de-compression of weights to increase inference performance and reduce power. + +The scope for this RFC is to add support for offloading to the Arm Ethos-U55 NPU. The initial machine learning framework that we use for testing this is TensorFlow Lite. Future RFCs and pull requests will address additional NPUs, such as the Ethos-U65, and other frameworks as the port evolves. + +Please refer to Technical Reference Manual (TRM) for more details – https://developer.arm.com/documentation/102420/0200. +* Reference : https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u5 + +# Guide-level explanation + +## TVMC User Interface +``` +tvmc compile my_model.tflite +--executor=aot +--output-format=mlf +--target="ethos-u --accelerator-config=ethos-u55-xxx",c" ---> Model Library Format + +# where xxx could be out of possible configuration of the accelerator that can take values : [32, 64, 128, 256] +``` + +The users should be able to use the above command to compile to ethos-u55 that would generate Model Library Format(MLF) output. +Please take a look at our provided example in the last PR (once its published). + +## Design Architecture Overview + +![](./assets/000x/ethosu_compiler_arch.png) + +We rely on the graph partitioning infrastructure in Relay (commonly known as BYOC) to integrate the Relay and TIR pass pipeline to generate c-source artifacts that could be used in an embedded deployment environment. Therefore, the generated c-sources are expected to be bundled with AOT executor in the Model Library Format (MLF) tarball. The embedded user can easily use MLF.tar as he/she would use it with the AOT executor in a typical embedded environment. + +### Why are the operators lowered to TIR before runtime.Module is created ? + +The two main reasons are as follows : + +#### Cascading-style performance and memory optimizations : + +Given the deterministic nature of the hardware, we intend to utilize the the TVM's scheduling language to perform inter and intra operator optimizations to reduce memory footprint while maintaining good performance. + +Please refer to this discuss post for more information : https://discuss.tvm.apache.org/t/rfc-cascade-scheduling/8119/8 + +#### Unified static memory planning : + +Ethos™-U is a NPU that is aimed at running with microTVM. Therefore, as with typical usecases of microTVM, Ethos™-U NPU will require aggressive memory optimizations by sharing buffers with intermediaries used by the CPU. +We envision a flow to expose the TIR generated by Ethos™-U codegen to future unified static memory planner to be optimized. + +For more information about the proposed unified static memory planner, please refer to this discuss post : https://discuss.tvm.apache.org/t/rfc-unified-static-memory-planning/10099. + +# Reference-level explanation + +## Compilation flow + +### C1. TVM Frontend and Partitioning + +The Relay graph as lowered from the TVM's frontend will be partitioned into Ethos-U subgraphs via running AnnotateTarget, MergeCompilerRegions and PartitionGraph Relay passes. Therefore, this procedure will result in the creation of "external" Relay functions that are re-directed to Ethos-U Relay and TIR pass pipeline for the creation of c-source as stated above. + +``` +# A Partitioned example for Conv2D + +def @main(%input: Tensor[(1, 300, 300, 3), int8]) -> Tensor[(1, 298, 298, 32), int8] { + @ethosu_0(%input) /* ty=Tensor[(1, 298, 298, 32), int8] */ +} + +def @ethosu_0(%ethosu_0_i0: Tensor[(1, 300, 300, 3), int8], Compiler="ethosu", ...) { + %2 = fn (%FunctionVar_0_0: Tensor[(1, 300, 300, 3), int8], + PartitionedFromPattern="qnn.conv2d_nn.bias_add_qnn.requantize_", + Composite="ethosu.qnn_conv2d") { + %0 = qnn.conv2d(%FunctionVar_0_0, meta[relay.Constant][0], -26, ...); + %1 = nn.bias_add(%0, meta[relay.Constant][2], axis=3); + qnn.requantize(%1, meta[relay.Constant][3], 0, 12341.8f, 0, out_dtype="int8") + }; + %2(%ethosu_0_i0) +} +``` + + +### C2. Relay Legalization to Ethos™-U HW Primitive operations. + +In the design, we have decided to introduce TEs that closely describes the compute of each primitive operation that the hardware can natively execute – that we define as Ethos™-U HW primitive operations in their own Relay operators. Moreover, there are many Relay operators that could be lowered to the Ethos™-U HW primitives (e.g., dense could be legalized to a conv2d operator). This component will legalize the external Relay function to Ethos™-U HW primitive operations. + +Ethos™-U hardware supports per-channel quantization through via encoding a scale with each bias value. Thus, the weight scales are converted to that format and packed with the biases. Thereafter, the packed bias and scales are made to a constant input to the Relay operator. +For more details, please refer to : https://developer.arm.com/documentation/102420/0200 + +``` +# This is the above partitioned function legalized to ethosu.conv2d operator. + +fn (%ethosu_0_i0: Tensor[(1, 300, 300, 3), int8], ..., global_symbol="ethosu_0", Primitive=1) { + contrib.ethosu.conv2d(%ethosu_0_i0, meta[relay.Constant][0], meta[relay.Constant][1], -26, ...) +} +``` + + +### C3. Ethos™-U TE/TIR Compiler Passes + +At this stage, we should have a TE representation of all HW primitive operations that belong to the offloaded function. We will be scheduling the TE representation to TIR Primfunc that describes the intermediary storage and hardware operations that needed to be executed. In future, we are intending to add more TE/TIR passes make the Ethos™-U TE/TIR compiler perform memory and performance optimizations (See https://discuss.tvm.apache.org/t/rfc-cascade-scheduling/8119) . Therefore, its vital to have all the operations represented in TE/TIR. Its important to note that Ethos™-U hardware requires weights to be 'encoded' in a certain way to be readable by the hardware. Therefore, the weight encoding is performed here and represented in the TIR primfunc with post-encoding sizes as buffers. + +``` +primfn(placeholder_1: handle, placeholder_2: handle, placeholder_3: handle, ethosu_write_1: handle) -> () + attr = {"global_symbol": "main", "tir.noalias": True} + buffers = {buffer: Buffer(buffer_2: Pointer(uint8), uint8, [320], []), + placeholder: Buffer(placeholder_4: Pointer(int8), int8, [1, 300, 300, 3], []), + buffer_1: Buffer(buffer_3: Pointer(uint8), uint8, [1312], []), + ethosu_write: Buffer(ethosu_write_2: Pointer(int8), int8, [1, 298, 298, 32], [])} + buffer_map = {placeholder_3: buffer, ethosu_write_1: ethosu_write, placeholder_2: buffer_1, placeholder_1: placeholder} { + attr [placeholder.global: Pointer(uint8)] "storage_scope" = "global"; + allocate(placeholder.global, uint8, [1312]); + attr [placeholder.d.global: Pointer(uint8)] "storage_scope" = "global"; + allocate(placeholder.d.global, uint8, [320]) { + @tir.call_extern("ethosu_copy", (uint8*)buffer_3[0], 1312, (uint8*)placeholder.global[0], dtype=handle) + @tir.call_extern("ethosu_copy", (uint8*)buffer_2[0], 320, (uint8*)placeholder.d.global[0], dtype=handle) + @tir.call_extern("ethosu_conv2d", "int8", 300, 300, 3, 300, 0, 300, (int8*)placeholder_4[0], ...) + } +} +``` + + +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 uNPU 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. + +``` +#include +#include +#include +#include + +static const size_t weights_size = 1632; +static const size_t scratch_size = 1632; +// Update linker script to place weights_sec and cms_data_sec in memory that can be accseed by Ethos-U +__attribute__((section("weights_sec"), aligned(16))) static int8_t weights[1632] = "\xc1\x1a..."; +__attribute__((section("cms_data_sec"), aligned(16))) static int8_t cms_data_data[396] = "\x43\x4f..."; +static const size_t cms_data_size = sizeof(cms_data_data); + +static int32_t ethosu_0_(int8_t* in0, size_t in0_size, int8_t* out0, size_t out0_size) { + int num_tensors = 5; + void* cms_data = (void*)(cms_data_data); + int64_t device_type = kDLCPU; + int64_t device_id = 0; + int8_t* scratch = (int8_t*) TVMBackendAllocWorkspace(device_type, device_id, (uint64_t)scratch_size, 0, 16); + size_t base_addrs_size[num_tensors]; + uint64_t base_addrs[num_tensors]; + + base_addrs[0] = (uint64_t)(weights); + base_addrs_size[0] = weights_size; + base_addrs[1] = (uint64_t)(scratch); + base_addrs_size[1] = scratch_size; + base_addrs[2] = (uint64_t)(scratch); + base_addrs_size[2] = scratch_size; + base_addrs[3] = (uint64_t)(in0); + base_addrs_size[3] = in0_size; + base_addrs[4] = (uint64_t)(out0); + base_addrs_size[4] = out0_size; + + struct ethosu_driver *drv = ethosu_reserve_driver(); + int32_t result = ethosu_invoke_v3(drv, cms_data, cms_data_size, base_addrs, base_addrs_size, num_tensors); + ethosu_release_driver(drv); + TVMBackendFreeWorkspace(device_type, device_id, scratch); + if (result != 0) { + return -1; + } else { + return 0; + } +} + +// Wrapper function is provided to allow for easier debugging +inline static int32_t ethosu_0_wrapper_(DLTensor* arg0, DLTensor* out0) { + size_t input_data_size = 270000; + size_t output_data_size = 2841728; + return ethosu_0_((int8_t*)(arg0->data), input_data_size, (int8_t*)(out0->data), output_data_size); +} + +TVM_DLL int32_t ethosu_0(TVMValue* args, int* type_code, int num_args, TVMValue* out_value, int* out_type_code) { + DLTensor* arg0 = (DLTensor*)(((TVMValue*)args)[0].v_handle); + DLTensor* ret1 = (DLTensor*)(((TVMValue*)args)[1].v_handle); + return ethosu_0_wrapper_(arg0,ret1); +} +``` + +## 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. + +## 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. + +We will be providing end-to-end tests in two categories : + +* Operator tests : single operator tests will be executed. +* Network tests : a few interested networks will be executed. + +We are introducing a test_runner application that uses the AoT executor (See https://discuss.tvm.apache.org/t/implementing-aot-in-tvm/9206). Moreover, the included test_runner application would be a harness that could serve as a sample application for inferences on the Ethos™-U55. + +## Code location + + python/tvm/relay/backend/contrib/ethosu/ – Main directory that holds the relay legalization passes, TIR to Command Stream translation and the integration of the codegen. + python/tvm/relay/backend/contrib/ethosu/op – The definition of Ethos-U relay operators + python/tvm/relay/backend/contrib/ethosu/te – The TE compute definitions of Ethos-U relay operators + python/tvm/relay/backend/contrib/ethosu/tir – The TIR compiler for performance and memory optimization of Ethos-U Relay operators + + src/relay/backend/contrib/ethosu/ – C++ sources for implementation of passes (where compile-time performance is critical) and the generation of C-source module. + tests/python/contrib/test_ethosu/ – The test directory + +# Upstreaming Plan + +The scope for the initial upstreaming is adding support for Conv2D offloading to Ethos-U. + +* [P1] The ci_cpu Dockerfile changes and install scripts – Arm® Corestone™-300 FVP and Ethos™-U core driver +* [P2] The Relay passes with unit tests for Conv2D (Partitioning, Preprocessing and Legalization) +* [P3] The Ethos™-U Relay operators, TE compute definitions and TIR Passes for Conv2D and tests (unit / partial integration tests) +* [P4] TIR to CS translator for Conv2D with unit tests +* [P5] The C source generator +* [P6] The overall codegen integration and tests +* [P7] TVMC changes and tutorial to how to run a network on the Arm® Corestone™-300 FVP + +Once the initial PRs are landed – we are planning to improve operator coverage. \ No newline at end of file diff --git a/rfcs/assets/000x/ethosu_compiler_arch.png b/rfcs/assets/000x/ethosu_compiler_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc19f67a76fad7973a46eae576231f820a68e0e GIT binary patch literal 85701 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 literal 0 HcmV?d00001 diff --git a/rfcs/assets/000x/ethosu_hw.png b/rfcs/assets/000x/ethosu_hw.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5d2d22073ec788710815b8f67069bf852ebb85 GIT binary patch literal 27872 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 z%0D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 CkTjqG literal 0 HcmV?d00001 From e5aa35884180773071fc2e487a5de78c5d149df3 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Thu, 15 Jul 2021 12:38:50 +0100 Subject: [PATCH 2/8] Arm Ethos-U Integration * fixing a typo in a link Change-Id: I9ab14c366f2c39ba36b8a43a83e4f15ea309712e --- rfcs/000x_Arm_Ethos-U_Integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/000x_Arm_Ethos-U_Integration.md b/rfcs/000x_Arm_Ethos-U_Integration.md index 5ff8a365..8720498b 100644 --- a/rfcs/000x_Arm_Ethos-U_Integration.md +++ b/rfcs/000x_Arm_Ethos-U_Integration.md @@ -18,7 +18,7 @@ Ethos™-U55 is a NPU that is designed to uplift ML performance by working as an The scope for this RFC is to add support for offloading to the Arm Ethos-U55 NPU. The initial machine learning framework that we use for testing this is TensorFlow Lite. Future RFCs and pull requests will address additional NPUs, such as the Ethos-U65, and other frameworks as the port evolves. Please refer to Technical Reference Manual (TRM) for more details – https://developer.arm.com/documentation/102420/0200. -* Reference : https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u5 +* Reference : https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55 # Guide-level explanation From e91ee13e68146d33bc038e094ef6ab1f0bd93f38 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Thu, 15 Jul 2021 12:56:50 +0100 Subject: [PATCH 3/8] Arm Ethos-U Integration * adding the header for the RFC * modifying the paths to match the PR number Change-Id: Ice1c651c6619ae5d6a95fa70e739826b36a47af1 --- ...tegration.md => 0011_Arm_Ethos-U_Integration.md} | 6 +++--- rfcs/assets/{000x => 0011}/ethosu_compiler_arch.png | Bin rfcs/assets/{000x => 0011}/ethosu_hw.png | Bin 3 files changed, 3 insertions(+), 3 deletions(-) rename rfcs/{000x_Arm_Ethos-U_Integration.md => 0011_Arm_Ethos-U_Integration.md} (99%) rename rfcs/assets/{000x => 0011}/ethosu_compiler_arch.png (100%) rename rfcs/assets/{000x => 0011}/ethosu_hw.png (100%) diff --git a/rfcs/000x_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md similarity index 99% rename from rfcs/000x_Arm_Ethos-U_Integration.md rename to rfcs/0011_Arm_Ethos-U_Integration.md index 8720498b..8a234d87 100644 --- a/rfcs/000x_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -1,7 +1,7 @@ Feature Name: Arm® Ethos™-U Integration - Start Date: - RFC PR: - GitHub Issue: + Start Date: 2020 May + RFC PR: https://github.com/apache/tvm-rfcs/pull/11 + GitHub Issue: https://github.com/apache/tvm/issues/8482 # Motivation diff --git a/rfcs/assets/000x/ethosu_compiler_arch.png b/rfcs/assets/0011/ethosu_compiler_arch.png similarity index 100% rename from rfcs/assets/000x/ethosu_compiler_arch.png rename to rfcs/assets/0011/ethosu_compiler_arch.png diff --git a/rfcs/assets/000x/ethosu_hw.png b/rfcs/assets/0011/ethosu_hw.png similarity index 100% rename from rfcs/assets/000x/ethosu_hw.png rename to rfcs/assets/0011/ethosu_hw.png From 2da89b8a12ee11ef10bd479639c94d60d79ab147 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Thu, 15 Jul 2021 13:08:24 +0100 Subject: [PATCH 4/8] Arm Ethos-U Integration *fixing the path to assets with the PR number *adding a white bounding box to compiler_arch to render in a black github interface for better viewing experience Change-Id: If52e34583cbd81614f0ba176a6fce8f440d8041c --- rfcs/0011_Arm_Ethos-U_Integration.md | 4 ++-- rfcs/assets/0011/ethosu_compiler_arch.png | Bin 85701 -> 88837 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rfcs/0011_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md index 8a234d87..44a85a5b 100644 --- a/rfcs/0011_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -11,7 +11,7 @@ Arm® Ethos™-U is a series of NPUs that will enable low-cost and highly effici ### Ethos™-U55 -![](./assets/000x/ethosu_hw.png) +![](./assets/0011/ethosu_hw.png) Ethos™-U55 is a NPU that is designed to uplift ML performance by working as an offload target for micro-controllers. It can accelerate quantized ML operators such as Convolution2D, Depthwise Convolution, Pooling and Elementwise Operators. For convolution-type operators, Ethos-U55 supports hardware enabled loseless de-compression of weights to increase inference performance and reduce power. @@ -37,7 +37,7 @@ Please take a look at our provided example in the last PR (once its published). ## Design Architecture Overview -![](./assets/000x/ethosu_compiler_arch.png) +![](./assets/0011/ethosu_compiler_arch.png) We rely on the graph partitioning infrastructure in Relay (commonly known as BYOC) to integrate the Relay and TIR pass pipeline to generate c-source artifacts that could be used in an embedded deployment environment. Therefore, the generated c-sources are expected to be bundled with AOT executor in the Model Library Format (MLF) tarball. The embedded user can easily use MLF.tar as he/she would use it with the AOT executor in a typical embedded environment. diff --git a/rfcs/assets/0011/ethosu_compiler_arch.png b/rfcs/assets/0011/ethosu_compiler_arch.png index 7bc19f67a76fad7973a46eae576231f820a68e0e..f01b9fdf025e036e6e4ac4b8f05da25992ddabb9 100644 GIT binary patch literal 88837 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Ý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 From 905c911dacb6a550a4a793211ed5223cdeb2a467 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Wed, 21 Jul 2021 09:37:19 +0100 Subject: [PATCH 5/8] Arm Ethos-U Integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * changed uNPU --> Ethos™-U Change-Id: I9b869396fef66772e70adc8cc90538434cc090ac --- rfcs/0011_Arm_Ethos-U_Integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0011_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md index 44a85a5b..0b7c3bc3 100644 --- a/rfcs/0011_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -130,7 +130,7 @@ Given, that the complexity of this component, we'll be putting up a seperate RFC ### 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 uNPU 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. +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. ``` #include From 4c413fd7b01da33732cc28d407f364e86b80e7f8 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Wed, 11 Aug 2021 16:52:54 +0100 Subject: [PATCH 6/8] Arm Ethos-U Integration *addressed andrew's comments Change-Id: Id83f1d85d1105b524afd6fa33efa1051239edb03 --- rfcs/0011_Arm_Ethos-U_Integration.md | 67 ++++++++++++++-------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/rfcs/0011_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md index 0b7c3bc3..0600703f 100644 --- a/rfcs/0011_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -5,7 +5,7 @@ # 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. ## Scope: @@ -13,11 +13,11 @@ Arm® Ethos™-U is a series of NPUs that will enable low-cost and highly effici ![](./assets/0011/ethosu_hw.png) -Ethos™-U55 is a NPU that is designed to uplift ML performance by working as an offload target for micro-controllers. It can accelerate quantized ML operators such as Convolution2D, Depthwise Convolution, Pooling and Elementwise Operators. For convolution-type operators, Ethos-U55 supports hardware enabled loseless de-compression of weights to increase inference performance and reduce power. +Ethos™-U55 is a NPU that is designed to uplift ML performance by working as an offload target for micro-controllers. It can accelerate quantized ML operators such as Convolution2D, Depthwise Convolution, Pooling and Elementwise Operators. For convolution-type operators, NPU supports hardware enabled loseless de-compression of weights to increase inference performance and reduce power. -The scope for this RFC is to add support for offloading to the Arm Ethos-U55 NPU. The initial machine learning framework that we use for testing this is TensorFlow Lite. Future RFCs and pull requests will address additional NPUs, such as the Ethos-U65, and other frameworks as the port evolves. +The scope for this RFC is to add support for offloading to the Arm® Ethos™-U55 NPU. The initial machine learning framework that we use for testing this is TensorFlow Lite. Future RFCs and pull requests will address additional NPUs such as the Ethos™-U65, optimization to the compilation pipeline and other frameworks as the port evolves. -Please refer to Technical Reference Manual (TRM) for more details – https://developer.arm.com/documentation/102420/0200. +Please refer to [Technical Reference Manual (TRM)](https://developer.arm.com/documentation/102420/0200) for more details. * Reference : https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55 # Guide-level explanation @@ -25,15 +25,14 @@ Please refer to Technical Reference Manual (TRM) for more details – https://de ## TVMC User Interface ``` tvmc compile my_model.tflite ---executor=aot ---output-format=mlf +--executor=aot \ +--output-format=mlf \ --target="ethos-u --accelerator-config=ethos-u55-xxx",c" ---> Model Library Format -# where xxx could be out of possible configuration of the accelerator that can take values : [32, 64, 128, 256] +# where xxx indicate the possible variant of the accelerator that can take values : [32, 64, 128, 256] ``` -The users should be able to use the above command to compile to ethos-u55 that would generate Model Library Format(MLF) output. -Please take a look at our provided example in the last PR (once its published). +The users should be able to use the above command to compile to NPU that would generate [Model Library Format(MLF)](https://github.com/apache/tvm/blob/main/docs/dev/model_library_format.rst) output. ## Design Architecture Overview @@ -53,8 +52,8 @@ Please refer to this discuss post for more information : https://discuss.tvm.apa #### Unified static memory planning : -Ethos™-U is a NPU that is aimed at running with microTVM. Therefore, as with typical usecases of microTVM, Ethos™-U NPU will require aggressive memory optimizations by sharing buffers with intermediaries used by the CPU. -We envision a flow to expose the TIR generated by Ethos™-U codegen to future unified static memory planner to be optimized. +The NPU is aimed at running with microTVM. Therefore, as with typical usecases of microTVM, NPU will require aggressive memory optimizations by sharing buffers with intermediaries used by the CPU. +We envision a flow to expose the TIR generated by codegen to future unified static memory planner to be optimized. For more information about the proposed unified static memory planner, please refer to this discuss post : https://discuss.tvm.apache.org/t/rfc-unified-static-memory-planning/10099. @@ -64,7 +63,7 @@ For more information about the proposed unified static memory planner, please re ### C1. TVM Frontend and Partitioning -The Relay graph as lowered from the TVM's frontend will be partitioned into Ethos-U subgraphs via running AnnotateTarget, MergeCompilerRegions and PartitionGraph Relay passes. Therefore, this procedure will result in the creation of "external" Relay functions that are re-directed to Ethos-U Relay and TIR pass pipeline for the creation of c-source as stated above. +The Relay graph as lowered from the TVM's frontend will be partitioned into subgraphs via running AnnotateTarget, MergeCompilerRegions and PartitionGraph Relay passes. Therefore, this procedure will result in the creation of "external" Relay functions that are re-directed to NPU Relay and TIR pass pipeline for the creation of c-source as stated above. ``` # A Partitioned example for Conv2D @@ -86,11 +85,14 @@ def @ethosu_0(%ethosu_0_i0: Tensor[(1, 300, 300, 3), int8], Compiler="ethosu", . ``` -### C2. Relay Legalization to Ethos™-U HW Primitive operations. +### C2. Relay Legalization to Ethos™-U NPU HW Primitive operations. -In the design, we have decided to introduce TEs that closely describes the compute of each primitive operation that the hardware can natively execute – that we define as Ethos™-U HW primitive operations in their own Relay operators. Moreover, there are many Relay operators that could be lowered to the Ethos™-U HW primitives (e.g., dense could be legalized to a conv2d operator). This component will legalize the external Relay function to Ethos™-U HW primitive operations. +In the design, we have decided to introduce TEs that closely describes the compute of each primitive operation that the hardware can natively execute – that we define as Ethos™-U NPU HW primitive operations in their own Relay operators. The rationale behind adding new relay operations are that they represent a pattern of conventional relay operations that is executed atomically in the hardware. + +Moreover, there are many Relay operators that could be lowered to the HW primitives (e.g., dense could be legalized to a conv2d operator). This component will legalize the external Relay function to HW primitive operations. + +The NPU supports per-channel quantization through via encoding a scale with each bias value. Thus, the weight scales are converted to that format and packed with the biases. Thereafter, the packed bias and scales are made to a constant input to the Relay operator. The weights are not compressed at this stage, they are compressed later in the subsequent TIR lowering phase. -Ethos™-U hardware supports per-channel quantization through via encoding a scale with each bias value. Thus, the weight scales are converted to that format and packed with the biases. Thereafter, the packed bias and scales are made to a constant input to the Relay operator. For more details, please refer to : https://developer.arm.com/documentation/102420/0200 ``` @@ -102,9 +104,9 @@ fn (%ethosu_0_i0: Tensor[(1, 300, 300, 3), int8], ..., global_symbol="ethosu_0", ``` -### C3. Ethos™-U TE/TIR Compiler Passes +### C3. NPU TE/TIR Compiler Passes -At this stage, we should have a TE representation of all HW primitive operations that belong to the offloaded function. We will be scheduling the TE representation to TIR Primfunc that describes the intermediary storage and hardware operations that needed to be executed. In future, we are intending to add more TE/TIR passes make the Ethos™-U TE/TIR compiler perform memory and performance optimizations (See https://discuss.tvm.apache.org/t/rfc-cascade-scheduling/8119) . Therefore, its vital to have all the operations represented in TE/TIR. Its important to note that Ethos™-U hardware requires weights to be 'encoded' in a certain way to be readable by the hardware. Therefore, the weight encoding is performed here and represented in the TIR primfunc with post-encoding sizes as buffers. +At this stage, we should have a TE representation of all HW primitive operations that belong to the offloaded function. We will be scheduling the TE representation to TIR Primfunc that describes the intermediary storage and hardware operations that needed to be executed. In future, we are intending to add more TE/TIR passes make the NPU TE/TIR compiler perform memory and performance optimizations (See https://discuss.tvm.apache.org/t/rfc-cascade-scheduling/8119) . Therefore, its vital to have all the operations represented in TE/TIR. Its important to note that the hardware requires weights to be 'encoded' in a certain way to be readable by the hardware. Therefore, the weight encoding is performed here and represented in the TIR primfunc with post-encoding sizes as buffers. ``` primfn(placeholder_1: handle, placeholder_2: handle, placeholder_3: handle, ethosu_write_1: handle) -> () @@ -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. ``` #include @@ -140,7 +139,7 @@ Ethos™-U hardware is used from the host CPU via invoking a driver API call wit static const size_t weights_size = 1632; static const size_t scratch_size = 1632; -// Update linker script to place weights_sec and cms_data_sec in memory that can be accseed by Ethos-U +// Update linker script to place weights_sec and cms_data_sec in memory that can be accseed by the hardware __attribute__((section("weights_sec"), aligned(16))) static int8_t weights[1632] = "\xc1\x1a..."; __attribute__((section("cms_data_sec"), aligned(16))) static int8_t cms_data_data[396] = "\x43\x4f..."; static const size_t cms_data_size = sizeof(cms_data_data); @@ -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. We will be providing end-to-end tests in two categories : * Operator tests : single operator tests will be executed. * Network tests : a few interested networks will be executed. -We are introducing a test_runner application that uses the AoT executor (See https://discuss.tvm.apache.org/t/implementing-aot-in-tvm/9206). Moreover, the included test_runner application would be a harness that could serve as a sample application for inferences on the Ethos™-U55. +We are introducing a test_runner application that uses the [AoT executor](https://discuss.tvm.apache.org/t/implementing-aot-in-tvm/9206). Moreover, the included test_runner application would be a harness that could serve as a sample application for inferences on the hardware. ## Code location python/tvm/relay/backend/contrib/ethosu/ – Main directory that holds the relay legalization passes, TIR to Command Stream translation and the integration of the codegen. - python/tvm/relay/backend/contrib/ethosu/op – The definition of Ethos-U relay operators - python/tvm/relay/backend/contrib/ethosu/te – The TE compute definitions of Ethos-U relay operators - python/tvm/relay/backend/contrib/ethosu/tir – The TIR compiler for performance and memory optimization of Ethos-U Relay operators + python/tvm/relay/backend/contrib/ethosu/op – The definition of NPU relay operators + python/tvm/relay/backend/contrib/ethosu/te – The TE compute definitions of NPU relay operators + python/tvm/relay/backend/contrib/ethosu/tir – The TIR compiler for performance and memory optimization of NPU Relay operators src/relay/backend/contrib/ethosu/ – C++ sources for implementation of passes (where compile-time performance is critical) and the generation of C-source module. tests/python/contrib/test_ethosu/ – The test directory # Upstreaming Plan -The scope for the initial upstreaming is adding support for Conv2D offloading to Ethos-U. +The scope for the initial upstreaming is adding support for Conv2D offloading to the NPU. -* [P1] The ci_cpu Dockerfile changes and install scripts – Arm® Corestone™-300 FVP and Ethos™-U core driver +* [P1] The ci_cpu Dockerfile changes and install scripts – Arm® Corstone™-300 reference system and Ethos™-U NPU core driver * [P2] The Relay passes with unit tests for Conv2D (Partitioning, Preprocessing and Legalization) -* [P3] The Ethos™-U Relay operators, TE compute definitions and TIR Passes for Conv2D and tests (unit / partial integration tests) +* [P3] The NPU Relay operators, TE compute definitions and TIR Passes for Conv2D and tests (unit / partial integration tests) * [P4] TIR to CS translator for Conv2D with unit tests * [P5] The C source generator * [P6] The overall codegen integration and tests -* [P7] TVMC changes and tutorial to how to run a network on the Arm® Corestone™-300 FVP +* [P7] TVMC changes and tutorial to how to run a network on the Arm® Corstone™-300 reference system. Once the initial PRs are landed – we are planning to improve operator coverage. \ No newline at end of file From 5ceb131e445b59c07191e77039bfe791473da53a Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Thu, 12 Aug 2021 15:26:10 +0100 Subject: [PATCH 7/8] Arm Ethos-U Integration * further addressing comments Change-Id: I01c8f5721fc1aa650479b6d2fe4e0abde80b1de3 --- rfcs/0011_Arm_Ethos-U_Integration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rfcs/0011_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md index 0600703f..d57ddc41 100644 --- a/rfcs/0011_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -55,7 +55,7 @@ Please refer to this discuss post for more information : https://discuss.tvm.apa The NPU is aimed at running with microTVM. Therefore, as with typical usecases of microTVM, NPU will require aggressive memory optimizations by sharing buffers with intermediaries used by the CPU. We envision a flow to expose the TIR generated by codegen to future unified static memory planner to be optimized. -For more information about the proposed unified static memory planner, please refer to this discuss post : https://discuss.tvm.apache.org/t/rfc-unified-static-memory-planning/10099. +For more information about the proposed unified static memory planner, please refer to the [RFC](https://github.com/apache/tvm-rfcs/pull/9) # Reference-level explanation @@ -66,7 +66,7 @@ For more information about the proposed unified static memory planner, please re The Relay graph as lowered from the TVM's frontend will be partitioned into subgraphs via running AnnotateTarget, MergeCompilerRegions and PartitionGraph Relay passes. Therefore, this procedure will result in the creation of "external" Relay functions that are re-directed to NPU Relay and TIR pass pipeline for the creation of c-source as stated above. ``` -# A Partitioned example for Conv2D +# A Partitioned IRModule for Conv2D def @main(%input: Tensor[(1, 300, 300, 3), int8]) -> Tensor[(1, 298, 298, 32), int8] { @ethosu_0(%input) /* ty=Tensor[(1, 298, 298, 32), int8] */ From 59a8e77423c4a174960cce29cded0ddf778923f4 Mon Sep 17 00:00:00 2001 From: Manupa Karunaratne Date: Thu, 19 Aug 2021 16:31:03 +0100 Subject: [PATCH 8/8] Arm Ethos-U Integration *defined acronyms *fixed spelling convention *reffered to tracking issue for the upstreaming plan Change-Id: I623edc7171c21bfe65509d89422698ff7959086c --- rfcs/0011_Arm_Ethos-U_Integration.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/rfcs/0011_Arm_Ethos-U_Integration.md b/rfcs/0011_Arm_Ethos-U_Integration.md index d57ddc41..145e39c2 100644 --- a/rfcs/0011_Arm_Ethos-U_Integration.md +++ b/rfcs/0011_Arm_Ethos-U_Integration.md @@ -5,7 +5,7 @@ # 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 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. +Arm® Ethos™-U is a series of Neural Processing Units (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 microTVM 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 Intermediate Representation (and the passes) to perform optimizations to create c-sources that can work with current microTVM deployments. ## Scope: @@ -129,7 +129,7 @@ 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. -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. +The hardware is used from the host CPU via invoking a driver API call with a command stream (a hardware specific binary artifact) 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. ``` #include @@ -219,14 +219,7 @@ We are introducing a test_runner application that uses the [AoT executor](https: # Upstreaming Plan -The scope for the initial upstreaming is adding support for Conv2D offloading to the NPU. +The scope for the initial upstreaming is adding support for Conv2D offloading to the NPU. Please refer to the [tracking issue](https://github.com/apache/tvm/issues/8482). -* [P1] The ci_cpu Dockerfile changes and install scripts – Arm® Corstone™-300 reference system and Ethos™-U NPU core driver -* [P2] The Relay passes with unit tests for Conv2D (Partitioning, Preprocessing and Legalization) -* [P3] The NPU Relay operators, TE compute definitions and TIR Passes for Conv2D and tests (unit / partial integration tests) -* [P4] TIR to CS translator for Conv2D with unit tests -* [P5] The C source generator -* [P6] The overall codegen integration and tests -* [P7] TVMC changes and tutorial to how to run a network on the Arm® Corstone™-300 reference system. Once the initial PRs are landed – we are planning to improve operator coverage. \ No newline at end of file