diff options
Diffstat (limited to 'docs/sections')
-rw-r--r-- | docs/sections/arm_virtual_hardware.md | 15 | ||||
-rw-r--r-- | docs/sections/building.md | 3 | ||||
-rw-r--r-- | docs/sections/timing_adapters.md | 25 |
3 files changed, 27 insertions, 16 deletions
diff --git a/docs/sections/arm_virtual_hardware.md b/docs/sections/arm_virtual_hardware.md index 01c4c99..7982b73 100644 --- a/docs/sections/arm_virtual_hardware.md +++ b/docs/sections/arm_virtual_hardware.md @@ -6,11 +6,12 @@ ## Overview -Arm® Virtual Hardware is an accurate representation of a physical System on Chip and runs as a simple application in a -Linux environment for easy scalability in the cloud and removes dependency from silicon availability. -Powered by Amazon Web Services (AWS), developers can launch Amazon Machine Image -(AMI) running as a virtual server in the cloud. The Arm Virtual Hardware is configured with the Corstone™-300 MPS3 -based Fixed Virtual Platform (FVP), compiler and other tools. +Arm® Virtual Hardware (AVH) is an evolution of Arm’s modelling technology delivering models of Arm-based processors, +systems, third party hardware for application developers and SoC designers to build and test software before silicon +and hardware availability. It is an accurate representation of a physical System on Chip and runs as a simple +application in a Linux environment for easy scalability in the cloud. Powered by Amazon Web Services (AWS), developers +can launch Amazon Machine Image (AMI) running as a virtual server in the cloud. The Arm Virtual Hardware is configured +with the Arm® Corstone™-300 and Corstone™-310 MPS3 based Fixed Virtual Platform (FVP), compiler and other tools. ### Getting started @@ -23,7 +24,7 @@ To take advantage of Arm Virtual Hardware, you would need to have an AWS account To access the Arm Virtual Hardware AWS instance via ssh, accept the prompt to generate a *.pem* key while creating the instance or add it later. - You can then access the AWS instance over ssh: `$ ssh -i <mykey.pem> ubuntu@<ec2-ip-address>`. + You can then access the AWS instance over ssh: `$ ssh -i <mykey.pem> ubuntu@<ec2-ip-address>`. It may be necessary to change the permissions for mykey.pem with `$ chmod 400 mykey.pem`. ### Useful Links @@ -42,3 +43,5 @@ with the ml-embedded-evaluation-kit. Note that on the AWS instance, the FVPs are In order to view the FVP window when launching on the AWS instance a VNC is required. See relevant section [here](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-2-install-gui/). +Alternatively, the FVPs can be given certain command line arguments to make them execute without the front-end. See +[Running the FVP without the UI](./deployment.md#running-the-fvp-without-the-ui). diff --git a/docs/sections/building.md b/docs/sections/building.md index f6b71a8..4750e3e 100644 --- a/docs/sections/building.md +++ b/docs/sections/building.md @@ -253,6 +253,9 @@ The build parameters are: - `ETHOS_U_NPU_TIMING_ADAPTER_ENABLED`: Specifies if the *Ethos-U* timing adapter is enabled. + > **NOTE**: This setting is set to ON for all platforms if `ETHOS_U_NPU_ENABLED` is set. However, it is overridden + > to OFF for Arm® Corstone-310 implementation. + - `TA_CONFIG_FILE`: The path to the CMake configuration file that contains the timing adapter parameters. Used only if the timing adapter build is enabled. Default for Ethos-U55 NPU is [ta_config_u55_high_end.cmake](../../scripts/timing_adapter/ta_config_u55_high_end.cmake), diff --git a/docs/sections/timing_adapters.md b/docs/sections/timing_adapters.md index ab05490..7ca7076 100644 --- a/docs/sections/timing_adapters.md +++ b/docs/sections/timing_adapters.md @@ -1,18 +1,23 @@ # Building timing adapter with custom options The sources contain the configuration for a timing adapter utility for the *Arm® Ethos™-U* NPU driver. The timing -adapter allows the platform to simulate user provided memory bandwidth and latency constraints. +adapter allows the platform to simulate user provided memory bandwidth and latency constraints on platforms that +support it. The timing adapter driver aims to control the behavior of two AXI buses used by *Ethos-U* NPU. One is for +SRAM memory region, and the other is for flash or DRAM. -The timing adapter driver aims to control the behavior of two AXI buses used by *Ethos-U* NPU. One is for SRAM memory -region, and the other is for flash or DRAM. +The SRAM is where intermediate buffers are expected to be allocated and therefore, this region can serve frequent read +and write traffic generated by computation operations while executing a neural network inference. The flash or DDR is +where we expect to store the model weights and therefore, this bus would only usually be used for RO traffic. -The SRAM is where intermediate buffers are expected to be allocated and therefore, this region can serve frequent Read -and Write traffic generated by computation operations while executing a neural network inference. +It is used for MPS3 FPGA and for Fast Model environment (or [AVH](./arm_virtual_hardware.md)). -The flash or DDR is where we expect to store the model weights and therefore, this bus would only usually be used for RO -traffic. - -It is used for MPS3 FPGA and for Fast Model environment. +> **NOTE**: All Arm® Corstone™-300 based platform implementations fully support the use of `timing adapter` to perform +> bandwidth/latency sweeps for performance estimation of the Arm® Ethos™-U NPUs. However, Arm® Corstone™-310's +> implementation of timing adapter is, different and, unsuitable for such benchmarking. See +> [differences between timing adapter implementations](#differences-between-timing-adapter-implementations-in-arm-corstone_300-and-arm-corstone_310) for more details. Therefore, for Arm® Corstone™-310 targets, the +> CMake configuration is set up to ignore the timing adapters, if any, entirely. If you want to do any NPU performance +> benchmarking for different bandwidth and latency conditions, we recommend using the Arm® Corstone™-300 +> implementations. The CMake build framework allows the parameters to control the behavior of each bus with following parameters: @@ -128,7 +133,7 @@ An example of the build with a custom timing adapter configuration: ```commandline cmake .. -DTA_CONFIG_FILE=scripts/cmake/timing_adapter/my_ta_config.cmake ``` -## Differences between timing adapter implementations in Arm® Corstone™-300 and Arm® Corstone™-310 +## Differences between timing adapter implementations in Arm Corstone-300 and Arm Corstone-310 Corstone-300 FVP and FPGA implements timing adapters that are tied to AXI masters M0 and M1 on the Ethos-U NPU. |