Skip to content

Commit dabb406

Browse files
authored
Merge pull request #2174 from pareenaverma/content_review
Tech review of ethosu corstone-320 fvp LP
2 parents 401123b + defc14d commit dabb406

File tree

6 files changed

+13
-16
lines changed

6 files changed

+13
-16
lines changed

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/2-env-setup.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Run the commands below to set up the ExecuTorch internal dependencies:
5050

5151
```bash
5252
git submodule sync
53-
git submodule update --init
53+
git submodule update --init --recursive
5454
./install_executorch.sh
5555
```
5656

@@ -70,7 +70,7 @@ pip list | grep executorch
7070
```
7171

7272
```output
73-
executorch 0.6.0a0+3eea1f1
73+
executorch 0.8.0a0+92fb0cc
7474
```
7575

7676
## Next Steps

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/3-env-setup-fvp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ The Corstone reference system is provided free of charge, although you will have
1818

1919
{{% notice macOS %}}
2020

21-
Setting up FVPs on MacOS requires some extra steps, outlined in GitHub repo [VPs-on-Mac](https://github.com/Arm-Examples/FVPs-on-Mac/). macOS users must do this first, before setting up the Corestone-320 FVP.
21+
Setting up FVPs on MacOS requires some extra steps, outlined in GitHub repo [FVPs-on-Mac](https://github.com/Arm-Examples/FVPs-on-Mac/). macOS users must do this first, before setting up the Corstone-320 FVP.
2222

2323
{{% /notice %}}
2424

@@ -49,4 +49,4 @@ Test that the setup was successful by running the `run.sh` script for Ethos-U85,
4949

5050
You will see a number of examples run on the FVP.
5151

52-
This confirms the installation, so you can now proceed to the Learning Path [Build a Simple PyTorch Model](/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/4-build-model/).
52+
This confirms the installation, so you can now proceed to the next section.

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/4-how-executorch-works.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ weight: 5 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11-
Source: [How ExecuTorch Works](https://docs.pytorch.org/executorch/stable/intro-how-it-works.html) (official PyTorch Documentation)
11+
To get a better understanding of [How ExecuTorch Works](https://docs.pytorch.org/executorch/stable/intro-how-it-works.html) refer to the official PyTorch Documentation. A summary is provided here for your reference:
12+
1213
1. **Export the model:**
1314
* Generate a Graph
1415
* A graph is series of operators (ReLU, quantize, etc.) eligible for delegation to an accelerator

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/5-configure-fvp-gui.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,9 @@ layout: "learningpathall"
1212

1313
Note down your computer's IP address:
1414
```bash
15-
ip addr show <YOUR_INTERFACE_NAME>
15+
ip addr show
1616
```
17-
To help you, here are some common WiFi interface names on Linux:
18-
|Interface Name|Meaning / Context|
19-
|--------------|-----------------|
20-
|wlan0|Legacy name (common on older systems)|
21-
|wlp2s0, wlp3s0|Predictable network naming scheme (modern systems)|
22-
|wlx<MAC>|Some systems name interfaces after MAC addresses|
23-
|wifi0, ath0|Very rare, specific to certain drivers (e.g., Atheros)|
17+
Note down the IP address of your active network interface (inet) which you will use later to pass as an argument to the FVP.
2418

2519
{{% notice macOS %}}
2620

@@ -34,7 +28,7 @@ ipconfig getifaddr en0 # Returns your Mac's WiFi IP address
3428

3529
## Enable the FVP's GUI
3630

37-
Edit the following parameters in [run_fvp.sh](https://github.com/pytorch/executorch/blob/d5fe5faadb8a46375d925b18827493cd65ec84ce/backends/arm/scripts/run_fvp.sh#L97-L102), to enable the Mobilenet V2 output on the FVP's GUI:
31+
Edit the following parameters in your locally checked out [executorch/backends/arm/scripts/run_fvp.sh](https://github.com/pytorch/executorch/blob/d5fe5faadb8a46375d925b18827493cd65ec84ce/backends/arm/scripts/run_fvp.sh#L97-L102) file, to enable the Mobilenet V2 output on the FVP's GUI:
3832

3933
```bash
4034
-C mps4_board.subsystem.ethosu.num_macs=${num_macs} \

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/6-evaluate-output.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,5 @@ I [executorch:arm_perf_monitor.cpp:184] ethosu_pmu_cntr4 : 130
161161
|ethosu_pmu_cntr2|External DRAM read beats(ETHOSU_PMU_EXT_RD_DATA_BEAT_RECEIVED)|Number of data beats read from off-chip memory (e.g., DRAM). Often 0 if Sram_Only is used.|If non-zero, may indicate cache misses or large model size.|
162162
|ethosu_pmu_cntr3|External DRAM write beats(ETHOSU_PMU_EXT_WR_DATA_BEAT_WRITTEN)|Number of write data beats to external memory.|Helps detect offloading or insufficient SRAM.|
163163
|ethosu_pmu_cntr4|Idle cycles(ETHOSU_PMU_NPU_IDLE)|Number of cycles where the NPU had no work scheduled (i.e., idle).|High idle count = possible pipeline stalls or bad scheduling.|
164+
165+
In this learning path you have successfully learnt how to deploy a MobileNet V2 Model using ExecuTorch on Arm's Corstone-320 FVP.

content/learning-paths/embedded-and-microcontrollers/visualizing-ethos-u-performance/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ cascade:
77

88
minutes_to_complete: 120
99

10-
who_is_this_for: This is an introductory topic for developers and data scientists new to Tiny Machine Learning (TinyML), who want to visualize ExecuTorch performance on a virtual device.
10+
who_is_this_for: This is an introductory topic for developers and data scientists new to Tiny Machine Learning (TinyML), who want to understand and visualize ExecuTorch performance on a virtual device.
1111

1212
learning_objectives:
1313
- Identify suitable Arm-based devices for TinyML applications.
14-
- Optionally, install Fixed Virtual Platforms (FVPs) on MacOS.
14+
- Install Fixed Virtual Platforms (FVPs).
1515
- Deploy a TinyML ExecuTorch model to a Corstone-320 FVP.
1616
- Observe model execution on the FVP's graphical user interface (GUI).
1717

0 commit comments

Comments
 (0)