Skip to content

Commit 4a8b5ea

Browse files
Merge pull request #2441 from ArmDeveloperEcosystem/main
production update
2 parents 6f7d319 + bc716df commit 4a8b5ea

File tree

99 files changed

+2588
-687
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+2588
-687
lines changed

.github/copilot-instructions.md

Lines changed: 283 additions & 239 deletions
Large diffs are not rendered by default.

.wordlist.txt

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4978,3 +4978,65 @@ multidisks
49784978
testsh
49794979
uops
49804980
subgraph
4981+
ArgumentList
4982+
Autocannon
4983+
Buildkite
4984+
CimInstance
4985+
ClassName
4986+
DischargeRate
4987+
FPM
4988+
FastCGI
4989+
FilePath
4990+
Halide’s
4991+
HasExited
4992+
ImportError
4993+
NIC’s
4994+
NVM
4995+
NodeJS
4996+
Opcache
4997+
OpenBMC’s
4998+
PHPBench
4999+
ParentProcessId
5000+
PassThru
5001+
ProcessID
5002+
QAT
5003+
REPL
5004+
RaceNight
5005+
RemainingCapacity
5006+
Ruifeng
5007+
Xdebug
5008+
appPid
5009+
argList
5010+
autocannon
5011+
autoexit
5012+
autoloading
5013+
benchArrayPush
5014+
benchStringConcat
5015+
buildkite
5016+
childPid
5017+
childProcess
5018+
cmdLine
5019+
eq
5020+
exePath
5021+
ffplay
5022+
fpm
5023+
gpl
5024+
hh
5025+
mW
5026+
mWh
5027+
mbstring
5028+
memPriv
5029+
npmjs
5030+
opcache
5031+
outHead
5032+
outLine
5033+
outputFile
5034+
phar
5035+
phpbench
5036+
phpinfo
5037+
utf
5038+
vesion
5039+
wwwrun
5040+
xdebug
5041+
zoneIdentifier
5042+
zypper

content/install-guides/multipass.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ Multipass uses the terms virtual machine and instance synonymously.
5353
Download Multipass for macOS.
5454

5555
```console
56-
wget https://github.com/canonical/multipass/releases/download/v1.16.0/multipass-1.16.0+mac-Darwin.pkg
56+
wget https://github.com/canonical/multipass/releases/download/v1.16.1/multipass-1.16.1+mac-Darwin.pkg
5757
```
5858

5959
### How do I install Multipass on macOS?
6060

6161
Install the download using the package command.
6262

6363
```console
64-
sudo installer -pkg multipass-1.16.0+mac-Darwin.pkg -target /
64+
sudo installer -pkg multipass-1.16.1+mac-Darwin.pkg -target /
6565
```
6666

6767
The getting started instructions below use the command line interface. If you prefer to use the graphical interface start it from the macOS Launchpad, the initial screen is shown below. You can use the UI to create, start, and stop virtual machines.
@@ -112,7 +112,7 @@ HINT: sudo /usr/sbin/kvm-ok
112112

113113
If KVM is available, proceed with the install.
114114

115-
### How do I install the Sanp daemon on Arm Linux?
115+
### How do I install the Snap daemon on Arm Linux?
116116

117117
You may need to install the Snap daemon, `snapd`, before installing Multipass.
118118

@@ -130,8 +130,6 @@ If you need to install `snapd` run:
130130
sudo apt install snapd -y
131131
```
132132

133-
134-
135133
{{% notice Note %}}
136134
You can select from three Multipass releases: stable, beta, or edge. The default version is stable.
137135
Add `--beta` or `--edge` to the install command below to select these more recent versions.
@@ -166,25 +164,26 @@ Multipass runs Ubuntu images. The last three LTS (long-term support) versions ar
166164
To see the available images run the `find` command. Any of the listed images can be used to create a new instance.
167165

168166
```bash
169-
sudo multipass find
167+
multipass find
170168
```
169+
171170
The output from `find` will be similar to the below.
172171

173172
```output
174173
Image Aliases Version Description
175-
20.04 focal 20240821 Ubuntu 20.04 LTS
176-
22.04 jammy 20241002 Ubuntu 22.04 LTS
177-
24.04 noble,lts 20241004 Ubuntu 24.04 LTS
178-
daily:24.10 oracular,devel 20241009 Ubuntu 24.10
174+
22.04 jammy 20251001 Ubuntu 22.04 LTS
175+
24.04 noble,lts 20251001 Ubuntu 24.04 LTS
176+
25.04 plucky 20251003 Ubuntu 25.04
177+
daily:25.10 questing,devel 20251015 Ubuntu 25.10
179178
180-
Blueprint Aliases Version Description
179+
Blueprint (deprecated) Aliases Version Description
181180
anbox-cloud-appliance latest Anbox Cloud Appliance
182181
charm-dev latest A development and testing environment for charmers
183182
docker 0.4 A Docker environment with Portainer and related tools
184183
jellyfin latest Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
185184
minikube latest minikube is local Kubernetes
186-
ros-noetic 0.1 A development and testing environment for ROS Noetic.
187185
ros2-humble 0.1 A development and testing environment for ROS 2 Humble.
186+
ros2-jazzy 0.1 A development and testing environment for ROS 2 Jazzy.
188187
```
189188

190189
### How do I launch a Multipass instance?

content/install-guides/pytorch.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ PyTorch requires Python 3, and this can be installed with `pip`.
4949
For Ubuntu, run:
5050

5151
```bash
52+
sudo apt update
5253
sudo apt install python-is-python3 python3-pip python3-venv -y
5354
```
5455

@@ -71,7 +72,7 @@ source venv/bin/activate
7172
In your active virtual environment, install PyTorch:
7273

7374
```bash
74-
sudo pip install torch torchvision torchaudio
75+
pip install torch torchvision torchaudio
7576
```
7677

7778
## How do I get started with PyTorch?

content/learning-paths/embedded-and-microcontrollers/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ tools_software_languages_filter:
5252
- DSTREAM: 2
5353
- Edge AI: 2
5454
- Edge Impulse: 1
55-
- ExecuTorch: 3
55+
- ExecuTorch: 4
5656
- FastAPI: 1
5757
- FPGA: 1
5858
- Fusion 360: 1

content/learning-paths/embedded-and-microcontrollers/rpi-llama3/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ tools_software_languages:
3232
- Generative AI
3333
- Raspberry Pi
3434
- Hugging Face
35+
- ExecuTorch
3536

3637

3738

content/learning-paths/laptops-and-desktops/_index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ operatingsystems_filter:
1111
- ChromeOS: 2
1212
- Linux: 34
1313
- macOS: 9
14-
- Windows: 45
14+
- Windows: 46
1515
subjects_filter:
1616
- CI-CD: 5
1717
- Containers and Virtualization: 7
18-
- Migration to Arm: 29
18+
- Migration to Arm: 30
1919
- ML: 2
2020
- Performance and Architecture: 27
2121
subtitle: Create and migrate apps for power efficient performance
@@ -38,6 +38,7 @@ tools_software_languages_filter:
3838
- CSS: 1
3939
- Daytona: 1
4040
- Docker: 5
41+
- FFmpeg: 1
4142
- GCC: 12
4243
- Git: 1
4344
- GitHub: 3
@@ -62,6 +63,7 @@ tools_software_languages_filter:
6263
- ONNX Runtime: 1
6364
- OpenCV: 1
6465
- perf: 4
66+
- PowerShell: 1
6567
- Python: 6
6668
- QEMU: 1
6769
- Qt: 2

content/learning-paths/laptops-and-desktops/win-resource-ps1/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ who_is_this_for: This is an introductory topic for developers who want to measur
1111

1212
learning_objectives:
1313
- Run video encode and decode tasks by using FFmpeg
14-
- Benchmark video encode task
15-
- Sample CPU / memory / power usage of video decode task
14+
- Benchmark the video encode task
15+
- Sample CPU, memory, and power usage for the video decode task
1616

1717
prerequisites:
1818
- A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11
19-
- Any code editor. [Visual Studio Code for Arm64](https://code.visualstudio.com/docs/?dv=win32arm64user) is suitable.
19+
- A code editor such as [Visual Studio Code for Windows on Arm](https://code.visualstudio.com/docs/?dv=win32arm64user)
2020

2121
author: Ruifeng Wang
2222

content/learning-paths/laptops-and-desktops/win-resource-ps1/how-to-1.md

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,69 @@
11
---
2-
title: Application and data set
2+
title: Set up FFmpeg and encode a test video
33
weight: 2
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

99
## Overview
10-
System resource usage provides an approach to understand the performance of an application as a black box. This Learning Path demonstrates how to sample system resource usage by using a script.
10+
System resource usage provides an approach to understand the performance of an application as a black box. This Learning Path demonstrates how to sample system resource usage using a script.
1111

12-
The application used is FFmpeg. It is a tool set that performs video encode and decode tasks. We will run the same tests with both x86_64 binary (through emulation) and Arm64 native binary.
12+
The example application you will use is FFmpeg, a tool set that performs video encode and decode tasks. You will run the same tests with both the x86_64 binary (using Windows instruction emulation) and the Arm64 native binary on a Windows on Arm computer.
1313

1414
## Application
15-
Binary builds are available. You don't need to build them from source. Download executable files for Windows:
15+
Binary builds of FFmpeg are available, so you don't need to build them from source.
1616

17-
1. Download [x86_64 package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1.zip).
18-
2. Download [Arm64 native package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-winarm64-gpl-7.1.zip).
17+
To get started:
1918

20-
Unzip the downloaded packages. You can find the binaries in **bin** folder. Note paths to **ffmpeg.exe** and **ffplay.exe**. They are used in later steps.
19+
1. Download the [FFmpeg x86_64 package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1.zip).
20+
21+
2. Download the [FFmpeg Arm64 native package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-winarm64-gpl-7.1.zip).
22+
23+
3. Unzip the downloaded packages.
24+
25+
You can find the binaries in the `bin` folder.
26+
27+
{{% notice Note %}}
28+
Make note of the paths to both versions of `ffmpeg.exe` and `ffplay.exe`, so you can run each one and compare the results.
29+
{{% /notice %}}
2130

2231
## Video source
23-
Download test video [RaceNight](https://ultravideo.fi/video/RaceNight_3840x2160_50fps_420_8bit_YUV_RAW.7z) from a public dataset. Unzip the package and note path to the uncompressed yuv file.
32+
Download the test video [RaceNight](https://ultravideo.fi/video/RaceNight_3840x2160_50fps_420_8bit_YUV_RAW.7z) from a public dataset.
33+
34+
Unzip the package and note the path to the uncompressed `.yuv` file.
2435

2536
## Video encoding
26-
The downloaded video file is in yuv raw format. It means playback of the video file involves no decoding effort. You need to encode the raw video with some compressing algorithms to add computation pressure at playback.
37+
The downloaded video file is in YUV raw format, which means playback of the video file involves no decoding effort. You need to encode the raw video with compression algorithms to add computation pressure during playback.
38+
39+
Use `ffmpeg.exe` to compress the YUV raw video with the x265 encoder and convert the file format to `.mp4`.
40+
41+
Assuming you downloaded the files and extracted them in the current directory, open a terminal and run the following command:
2742

28-
Use **ffmpeg.exe** to compress the yuv raw video with x265 algorithm and convert file format to mp4. Open a terminal and run command:
2943
```console
30-
path\to\ffmpeg.exe -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 50 -i D:\path\to\RaceNight_YUV_RAW\RaceNight_3840x2160_50fps_8bit.yuv -vf scale=1920:1080 -c:v libx265 -preset medium -crf 20 D:\RaceNight_1080p.mp4 -benchmark -stats -report
44+
ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1\ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1\bin\ffmpeg.exe -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 50 -i RaceNight_3840x2160_50fps_420_8bit_YUV_RAW\RaceNight_3840x2160_50fps_8bit.yuv -vf scale=1920:1080 -c:v libx265 -preset medium -crf 20 RaceNight_1080p.mp4 -benchmark -stats -report
3145
```
3246

3347
{{% notice Note %}}
34-
Modify the paths to `ffmpeg.exe` and yuv raw video file accordingly.
48+
Modify the paths to `ffmpeg.exe` and the YUV raw video file to match your locations.
3549
{{% /notice %}}
3650

37-
The command transforms video size, compresses the video into a H.265 encoded mp4 file. `benchmark` option is turned on to show performance data at the same time. The generated file is at D:\RaceNight_1080p.mp4.
51+
The command transforms the video size and compresses the video into an MP4 file using H.265 encoding (via the x265 encoder).
52+
53+
The `benchmark` option is turned on to show performance data at the same time.
54+
55+
The generated file will be at RaceNight_1080p.mp4.
56+
57+
Run the command with both the x86_64 and the Arm64 versions of FFmpeg and compare the output.
3858

3959
### View results
40-
Shown below is example output from running x86_64 version ffmpeg.exe:
60+
61+
The output below is from the x86_64 version of `ffmpeg.exe`:
62+
4163
```output
4264
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
4365
x265 [info]: tools: b-intra strong-intra-smoothing lslices=6 deblock sao
44-
Output #0, mp4, to 'D:\RaceNight_1080p.mp4':
66+
Output #0, mp4, to 'RaceNight_1080p.mp4':
4567
Metadata:
4668
encoder : Lavf61.7.100
4769
Stream #0:0: Video: hevc (hev1 / 0x31766568), yuv420p(tv, progressive), 1920x1080, q=2-31, 50 fps, 12800 tbn
@@ -61,11 +83,12 @@ x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
6183
encoded 600 frames in 71.51s (8.39 fps), 9075.96 kb/s, Avg QP:27.27
6284
```
6385

64-
Example output from running Arm64 native ffmpeg.exe:
86+
The output below is from the Arm64 native compiled `ffmpeg.exe`:
87+
6588
```output
6689
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
6790
x265 [info]: tools: b-intra strong-intra-smoothing lslices=6 deblock sao
68-
Output #0, mp4, to 'D:\RaceNight_1080p.mp4':
91+
Output #0, mp4, to 'RaceNight_1080p.mp4':
6992
Metadata:
7093
encoder : Lavf61.7.100
7194
Stream #0:0: Video: hevc (hev1 / 0x31766568), yuv420p(tv, progressive), 1920x1080, q=2-31, 50 fps, 12800 tbn
@@ -83,4 +106,8 @@ x265 [info]: frame B: 451, Avg QP:28.40 kb/s: 5878.38
83106
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
84107
85108
encoded 600 frames in 26.20s (22.90 fps), 9110.78 kb/s, Avg QP:27.23
86-
```
109+
```
110+
111+
The last line of each output shows the run time and the frames per second for each build of FFmpeg.
112+
113+
Continue to learn how to track resource usage and compare each version.

0 commit comments

Comments
 (0)