Skip to content

Commit abfbeaf

Browse files
authored
Merge pull request #1574 from ArmDeveloperEcosystem/main
Prod update
2 parents db9390a + 30cabba commit abfbeaf

File tree

79 files changed

+878
-451
lines changed

Some content is hidden

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

79 files changed

+878
-451
lines changed

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Before submitting a pull request for a new Learning Path, please review [Create a Learning Path](https://learn.arm.com//learning-paths/cross-platform/_example-learning-path/)
33
- [ ] I have reviewed Create a Learning Path
44

5-
Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information. No AI tool can be used to generate either content or code when creating a learning path or install guide.
5+
Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information.
66

77
- [ ] I have checked my contribution for confidential information
88

.github/workflows/deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ env:
2626
jobs:
2727
build_and_deploy:
2828
# The type of runner that the job will run on
29-
runs-on: ubuntu-latest
29+
runs-on: ubuntu-24.04-arm
3030
permissions:
3131
id-token: write
3232
contents: read
@@ -59,7 +59,7 @@ jobs:
5959
run: |
6060
hugo --minify
6161
cp learn-image-sitemap.xml public/learn-image-sitemap.xml
62-
bin/pagefind --site "public"
62+
bin/pagefind.aarch64 --site "public"
6363
env:
6464
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
6565
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}

.wordlist.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3558,4 +3558,17 @@ threadCount
35583558
threadNum
35593559
useAPL
35603560
vvenc
3561-
workspaces
3561+
workspaces
3562+
ETDump
3563+
ETRecord
3564+
FAISS
3565+
IVI
3566+
PDFs
3567+
Powertrain
3568+
SpinTheCubeInGDI
3569+
TaaS
3570+
cloudsdk
3571+
highcpu
3572+
proj
3573+
sln
3574+
uploader

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The Learning Paths created here are maintained by Arm and the Arm software devel
1212

1313
All contributions are welcome as long as they relate to software development for the Arm architecture.
1414
* Write a Learning Path (or improve existing content)
15-
* Fork this repo and submit pull requests; follow the step by step instructions in [Create a Learning Path](https://learn.arm.com//learning-paths/cross-platform/_example-learning-path/) on the website.
15+
* Fork this repo and submit pull requests; follow the step by step instructions in [Create a Learning Path](https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/) on the website.
1616
* Ideas for a new Learning Path
1717
* Create a new GitHub idea under the [Discussions](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/discussions) area in this GitHub repo.
1818
* Log a code issue (or other general issues)

content/install-guides/acfl.md

Lines changed: 66 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,33 +142,87 @@ install takes place **after** ACfL, you will no longer be able to fully
142142
uninstall ACfL.
143143
{{% /notice %}}
144144

145-
## Download and install using System Packages - Ubuntu Linux
145+
## Download and install using System Packages
146+
147+
### Ubuntu Linux 20.04 and 22.04
146148

147149
Arm Compiler for Linux is available to install with the Ubuntu system package manager `apt` command.
148150

149-
### Setup the ACfL package repository:
151+
#### Set up the ACfL package repository
150152

151153
Add the ACfL `apt` package repository to your Ubuntu 20.04 or 22.04 system:
152154

153155
```bash { target="ubuntu:latest" }
154156
sudo apt update
155-
sudo apt install -y curl
156-
source /etc/os-release
157+
sudo apt install -y curl environment-modules python3 libc6-dev
158+
. /etc/os-release
157159
curl "https://developer.arm.com/packages/ACfL%3A${NAME}-${VERSION_ID/%.*/}/${VERSION_CODENAME}/Release.key" | sudo tee /etc/apt/trusted.gpg.d/developer-arm-com.asc
158160
echo "deb https://developer.arm.com/packages/ACfL%3A${NAME}-${VERSION_ID/%.*/}/${VERSION_CODENAME}/ ./" | sudo tee /etc/apt/sources.list.d/developer-arm-com.list
159161
sudo apt update
160162
```
161163

162164
The ACfL Ubuntu package repository is now ready to use.
163165

164-
### Install ACfL
166+
#### Install ACfL
165167

166168
Download and install Arm Compiler for Linux with:
167169

168170
```bash { target="ubuntu:latest" }
169171
sudo apt install acfl
170172
```
171173

174+
### Amazon Linux 2023
175+
176+
Arm Compiler for Linux is available to install with either the `dnf` or `yum` system package manager.
177+
178+
#### Install ACfL from the Amazon Linux 2023 package repository
179+
180+
Install ACfL and prerequisites from the Amazon Linux 2023 `rpm` package repository with `dnf`:
181+
182+
```bash
183+
sudo dnf update
184+
sudo dnf install 'dnf-command(config-manager)' procps psmisc make environment-modules
185+
sudo dnf config-manager --add-repo https://developer.arm.com/packages/ACfL%3AAmazonLinux-2023/latest/ACfL%3AAmazonLinux-2023.repo
186+
sudo dnf install acfl
187+
```
188+
189+
Or using the equivalent `yum` commands:
190+
191+
```bash
192+
sudo yum update
193+
sudo yum install 'dnf-command(config-manager)' procps psmisc make environment-modules
194+
sudo yum config-manager --add-repo https://developer.arm.com/packages/ACfL%3AAmazonLinux-2023/latest/ACfL%3AAmazonLinux-2023.repo
195+
sudo yum install acfl
196+
```
197+
198+
The ACfL tools are now ready to use.
199+
200+
### Red Hat Enterprise Linux (RHEL) 9
201+
202+
Arm Compiler for Linux is available to install with either the `dnf` or `yum` system package manager.
203+
204+
#### Install ACfL from the RHEL 9 package repository
205+
206+
Install ACfL and prerequisites from the RHEL 9 `rpm` package repository with `dnf`:
207+
208+
```bash
209+
sudo dnf update
210+
sudo dnf install 'dnf-command(config-manager)' procps psmisc make environment-modules
211+
sudo dnf config-manager --add-repo https://developer.arm.com/packages/ACfL%3ARHEL-9/standard/ACfL%3ARHEL-9.repo
212+
sudo dnf install acfl
213+
```
214+
215+
Or using the equivalent `yum` commands:
216+
217+
```bash
218+
sudo yum update
219+
sudo yum install 'dnf-command(config-manager)' procps psmisc make environment-modules
220+
sudo yum config-manager --add-repo https://developer.arm.com/packages/ACfL%3ARHEL-9/standard/ACfL%3ARHEL-9.repo
221+
sudo yum install acfl
222+
```
223+
224+
The ACfL tools are now ready to use.
225+
172226
### Set up environment
173227

174228
Arm Compiler for Linux uses environment modules to dynamically modify your user environment. Refer to the [Environment Modules documentation](https://lmod.readthedocs.io/en/latest/#id) for more information.
@@ -178,17 +232,17 @@ Set up the environment, for example, in your `.bashrc` and add module files.
178232
#### Ubuntu Linux:
179233

180234
```bash { target="ubuntu:latest" }
181-
echo "source /usr/share/modules/init/bash" >> ~/.bashrc
235+
echo ". /usr/share/modules/init/bash" >> ~/.bashrc
182236
echo "module use /opt/arm/modulefiles" >> ~/.bashrc
183-
source ~/.bashrc
237+
. ~/.bashrc
184238
```
185239

186-
#### Red Hat Linux:
240+
#### Red Hat or Amazon Linux:
187241

188242
```bash { target="fedora:latest" }
189-
echo "source /usr/share/Modules/init/bash" >> ~/.bashrc
243+
echo ". /usr/share/Modules/init/bash" >> ~/.bashrc
190244
echo "module use /opt/arm/modulefiles" >> ~/.bashrc
191-
source ~/.bashrc
245+
. ~/.bashrc
192246
```
193247

194248
To list available modules:
@@ -217,7 +271,7 @@ Arm Compiler for Linux is available with the [Spack](https://spack.io/) package
217271

218272
See the [Arm Compiler for Linux and Arm PL now available in Spack](https://community.arm.com/arm-community-blogs/b/high-performance-computing-blog/posts/arm-compiler-for-linux-and-arm-pl-now-available-in-spack) blog for full details.
219273

220-
### Setup Spack
274+
### Set up Spack
221275

222276
Clone the Spack repository and add `bin` directory to the path:
223277

@@ -248,7 +302,7 @@ If you wish to install just the Arm Performance Libraries, use:
248302
spack install armpl-gcc
249303
```
250304

251-
### Setup environment
305+
### Set up environment
252306
Use the commands below to set up the environment:
253307

254308
```console

content/install-guides/cmake.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This article provides quick instructions to install CMake for Arm Linux distribu
3434

3535
### How do I download and install CMake for Windows on Arm?
3636

37-
Confirm you are using a Windows on Arm device such as Windows Dev Kit 2023 or a laptop such as Lenovo ThinkPad X13s or Surface Pro 9 with 5G.
37+
Confirm you are using a Windows on Arm device such as the Lenovo ThinkPad X13s or Surface Pro 9 with 5G.
3838

3939
### How do I download and install CMake for Arm Linux distributions?
4040

content/install-guides/gcloud.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ minutes_to_complete: 5
1111
author_primary: Jason Andrews
1212
multi_install: false
1313
multitool_install_part: false
14-
official_docs: https://cloud.google.com/sdk/docs/install-sdk
14+
official_docs: https://cloud.google.com/sdk/docs/install-sdk#deb
1515
test_images:
1616
- ubuntu:latest
1717
test_maintenance: false
@@ -44,7 +44,9 @@ aarch64
4444

4545
If you see a different result, you are not using an Arm computer running 64-bit Linux.
4646

47-
## How do I download and install for Ubuntu on Arm?
47+
## How do I download and install gcloud for Ubuntu on Arm?
48+
49+
### Install gcloud using the package manager
4850

4951
The easiest way to install `gcloud` for Ubuntu on Arm is to use the package manager.
5052

@@ -62,13 +64,64 @@ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
6264
sudo apt-get update && sudo apt-get install google-cloud-cli -y
6365
```
6466

65-
Confirm the executable is available.
67+
### Install gcloud using the archive file
68+
69+
If you cannot use the package manager or you get a Python version error such as the one below you can use the archive file.
70+
71+
```output
72+
The following packages have unmet dependencies:
73+
google-cloud-cli : Depends: python3 (< 3.12) but 3.12.3-0ubuntu2 is to be installed
74+
```
75+
76+
Download the archive file and extract the contents:
77+
78+
```bash { target="ubuntu:latest" }
79+
wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-arm.tar.gz
80+
sudo tar -xzf google-cloud-cli-linux-arm.tar.gz -C /opt
81+
```
82+
83+
Run the installer:
84+
85+
```bash { target="ubuntu:latest" }
86+
cd /opt/google-cloud-sdk
87+
sudo ./install.sh -q
88+
```
89+
90+
{{% notice Note %}}
91+
You can change the installation directory from `/opt` to a location of your choice.
92+
{{% /notice %}}
93+
94+
Add the installation directory to your search path. The installer will print the path to a script you can source to add `gcloud` to your search path.
95+
96+
```output
97+
==> Source [/opt/google-cloud-sdk/completion.bash.inc] in your profile to enable shell command completion for gcloud.
98+
==> Source [/opt/google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.
99+
100+
For more information on how to get started, please visit:
101+
https://cloud.google.com/sdk/docs/quickstarts
102+
```
103+
104+
Source the file to include `gcloud` in your search path:
105+
106+
```bash { target="ubuntu:latest" }
107+
source /opt/google-cloud-sdk/path.bash.inc
108+
```
109+
110+
Alternatively, you can add the `bin` directory to your path by adding the line below to your `$HOME/.bashrc` file.
111+
112+
```console
113+
export PATH="/opt/google-cloud-sdk/bin:$PATH"
114+
```
115+
116+
## Test gcloud
117+
118+
Confirm the executable is available and print the version:
66119

67120
```bash { target="ubuntu:latest" }
68121
gcloud -v
69122
```
70123

71-
The output should be similar to:
124+
The output is similar to:
72125

73126
```output
74127
Google Cloud SDK 418.0.0

content/install-guides/windows-perf-vs-extension.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ The WindowsPerf GUI extension is composed of several key features, each designed
4141
- **Output Logging**: All commands executed through the GUI are logged, ensuring transparency and supporting performance analysis.
4242
- **Sampling UI**: Customize your sampling experience by selecting events, setting frequency and duration, choosing programs for sampling, and comprehensively analyzing results. See screenshot below.
4343

44-
![Sampling preview #center](../_images/wperf-vs-extension-sampling-preview.png "Sampling settings UI Overview")
44+
![Sampling preview #center](/install_guides/_images/wperf-vs-extension-sampling-preview.png "Sampling settings UI Overview")
4545

4646

4747
- **Counting Settings UI**: Build a `wperf stat` command from scratch using the configuration interface, then view the output in the IDE or open it with Windows Performance Analyzer (WPA). See screenshot below.
4848

4949

50-
![Counting preview #center](../_images/wperf-vs-extension-counting-preview.png "Counting settings UI Overview")
50+
![Counting preview #center](/install_guides/_images/wperf-vs-extension-counting-preview.png "Counting settings UI Overview")
5151

5252
## Before you begin
5353

@@ -69,7 +69,7 @@ To install the WindowsPerf Visual Studio Extension from Visual Studio:
6969
4. Click on the search bar (Ctrl+L) and type `WindowsPerf`.
7070
5. Click on the **Install** button and restart Visual Studio.
7171

72-
![WindowsPerf install page #center](../_images/wperf-vs-extension-install-page.png)
72+
![WindowsPerf install page #center](/install_guides/_images/wperf-vs-extension-install-page.png)
7373

7474
### Installation from GitHub
7575

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/Overview-1.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ weight: 2
66
layout: learningpathall
77
---
88

9-
This Learning Path is about TinyML. It serves as a starting point for learning how cutting-edge AI technologies may be put on even the smallest of devices, making Edge AI more accessible and efficient. You will learn how to setup on your host machine and target device to facilitate compilation and ensure smooth integration across all devices.
9+
This Learning Path is about TinyML. It serves as a starting point for learning how cutting-edge AI technologies may be used on even the smallest devices, making Edge AI more accessible and efficient. You will learn how to set up your host machine and target device to facilitate compilation and ensure smooth integration across devices.
1010

1111
In this section, you get an overview of the domain with real-life use-cases and available devices.
1212

1313
## Overview
14-
TinyML represents a significant shift in machine learning deployment. Unlike traditional machine learning, which typically depends on cloud-based servers or high-powered hardware, TinyML is tailored to function on devices with limited resources, constrained memory, low power, and less processing capabilities. TinyML has gained popularity because it enables AI applications to operate in real-time, directly on the device, with minimal latency, enhanced privacy, and the ability to work offline. This shift opens up new possibilities for creating smarter and more efficient embedded systems.
14+
TinyML represents a significant shift in machine learning deployment. Unlike traditional machine learning, which typically depends on cloud-based servers or high-performance hardware, TinyML is tailored to function on devices with limited resources, constrained memory, low power, and less processing capabilities. TinyML has gained popularity because it enables AI applications to operate in real-time, directly on the device, with minimal latency, enhanced privacy, and the ability to work offline. This shift opens up new possibilities for creating smarter and more efficient embedded systems.
1515

1616
### Benefits and applications
1717

@@ -42,7 +42,7 @@ TinyML is being deployed across multiple industries, enhancing everyday experien
4242

4343
### Examples of Arm-based devices
4444

45-
There are many Arm-based off-the-shelf devices you can use for TinyML projects. Some of them are listed below, but the list is not exhaustive.
45+
There are many Arm-based devices you can use for TinyML projects. Some of them are listed below, but the list is not exhaustive.
4646

4747
#### Raspberry Pi 4 and 5
4848

@@ -64,6 +64,6 @@ The Arduino Nano, equipped with a suite of sensors, supports TinyML and is ideal
6464

6565
In addition to hardware, there are software platforms that can help you build TinyML applications.
6666

67-
Edge Impulse platform offers a suite of tools for developers to build and deploy TinyML applications on Arm-based devices. It supports devices like Raspberry Pi, Arduino, and STMicroelectronics boards.
67+
Edge Impulse offers a suite of tools for developers to build and deploy TinyML applications on Arm-based devices. It supports devices like Raspberry Pi, Arduino, and STMicroelectronics boards.
6868

6969
Now that you have an overview of the subject, move on to the next section where you will set up an environment on your host machine.

content/learning-paths/embedded-and-microcontrollers/introduction-to-tinyml-on-arm/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ learning_objectives:
1414
- Understand the benefits of deploying AI models on Arm-based edge devices.
1515
- Select Arm-based devices for TinyML.
1616
- Install and configure a TinyML development environment.
17-
- Perform best practices for ensuring optimal performance on constrained edge devices.
17+
- Apply best practices for ensuring optimal performance on constrained edge devices.
1818

1919

2020
prerequisites:
2121
- Basic knowledge of machine learning concepts.
2222
- A Linux host machine or VM running Ubuntu 22.04 or higher.
23-
- A [Grove Vision AI Module](https://wiki.seeedstudio.com/Grove-Vision-AI-Module/) **or** an Arm license to run the Corstone-300 Fixed Virtual Platform (FVP).
23+
- A [Grove Vision AI Module](https://wiki.seeedstudio.com/Grove-Vision-AI-Module/) or an Arm license to run the Corstone-300 Fixed Virtual Platform (FVP).
2424

2525

2626
author_primary: Dominica Abena O. Amanfo

0 commit comments

Comments
 (0)