Skip to content

Commit 0f2031a

Browse files
Merge pull request #2129 from ArmDeveloperEcosystem/main
production update
2 parents 1475912 + 60c76b8 commit 0f2031a

10 files changed

Lines changed: 406 additions & 143 deletions

File tree

content/install-guides/armpl.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar
3232

3333
[Arm Performance Libraries](https://developer.arm.com/downloads/-/arm-performance-libraries#documentation) provides developers with optimized math libraries for high performance computing applications on Arm Neoverse based hardware.
3434

35-
These libraries include highly optimized functions for BLAS, LAPACK, FFT, sparse linear algebra, libamath and libastring.
36-
These libraries are free to use and do not require a license. They can be installed either standalone or with your installation of [Arm Compiler for Linux](/install-guides/acfl). This install guide covers the standalone installation.
35+
These libraries include highly optimized functions for BLAS, LAPACK, FFT, sparse linear algebra, random number generation, libamath and libastring.
36+
These libraries are free to use and do not require a license.
3737

3838
Arm Performance Libraries are available for use on [Windows 11 on Arm](#windows), [macOS](#macos) (Apple Silicon), and [Linux](#linux) (AArch64) hosts.
3939

@@ -63,6 +63,16 @@ Click 'Install' and then 'Finish' to complete the installation.
6363

6464
![win_wizard04 #left](/install-guides/_images/armpl_wizard04.png)
6565

66+
To install Arm Performance Libraries from a command prompt and automatically accept the End User License Agreement use:
67+
```console
68+
msiexec.exe /i arm-performance-libraries_<version>_Windows.msi /quiet ACCEPT_EULA=1
69+
```
70+
71+
To install Arm Performance Libraries using the `winget` package manager and automatically accept the End User License Agreement use:
72+
```console
73+
winget install --accept-package-agreements Arm.ArmPerformanceLibraries
74+
```
75+
6676
You can now start linking your application to the Arm Performance libraries on your Windows on Arm device. Follow the examples in the included `RELEASE_NOTES` file of your extracted installation directory to get started.
6777

6878
For more information refer to [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109361).
@@ -74,28 +84,28 @@ For more information refer to [Get started with Arm Performance Libraries](https
7484

7585
In a terminal, run the command shown below to download the macOS package:
7686
```console
77-
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_25.04/arm-performance-libraries_25.04_macOS.tgz
87+
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_25.07/arm-performance-libraries_25.07_macOS.tgz
7888
```
7989

8090
Use tar to extract the file:
8191
```console
82-
tar zxvf arm-performance-libraries_25.04_macOS.tgz
92+
tar zxvf arm-performance-libraries_25.07_macOS.tgz
8393
```
8494

8595
Output of above command:
8696
```console
87-
armpl_25.04_flang-new_clang_19.dmg
97+
armpl_25.07_flang-20.dmg
8898
```
8999

90100
Mount the disk image by running from a terminal:
91101
```console
92-
hdiutil attach armpl_25.04_flang-new_clang_19.dmg
102+
hdiutil attach armpl_25.07_flang-20.dmg
93103
```
94104

95105
Now run the installation script as a superuser:
96106

97107
```console
98-
/Volumes/armpl_25.04_flang-new_clang_19_installer/armpl_25.04_flang-new_clang_19_install.sh -y
108+
/Volumes/armpl_25.07_flang-20_installer/armpl_25.07_flang-20_install.sh -y
99109
```
100110

101111
Using this command you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory. If you want to change the installation directory location use the `--install_dir=` option with the script and provide the desired directory location.
@@ -107,7 +117,7 @@ For more information refer to [Get started with Arm Performance Libraries](https
107117

108118
## How do I install Arm Performance Libraries on Linux? {#linux}
109119

110-
Arm Performance Libraries are supported on most Linux distributions like Ubuntu, RHEL, SLES and Amazon Linux on an `AArch64` host and compatible with various versions of GCC, LLVM, and NVHPC. The GCC compatible releases are built with GCC 14 and tested with GCC versions 7 to 14. The LLVM compatible releases are tested with LLVM 19.1. The NVHPC compatible releases are tested with NVHPC 24.7.
120+
Arm Performance Libraries are supported on most Linux distributions like Ubuntu, RHEL, SLES and Amazon Linux on an `AArch64` host and compatible with various versions of GCC, LLVM, and NVHPC. The GCC compatible releases are built with GCC 14 and tested with GCC versions 7 to 14. The LLVM compatible releases are tested with LLVM 20.1. The NVHPC compatible releases are tested with NVHPC 25.5.
111121

112122
### How do I manually download and install Arm Performance Libraries on Linux?
113123

@@ -122,26 +132,26 @@ The instructions shown below are for deb based installers for GCC users.
122132
In a terminal, run the command shown below to download the Debian package:
123133

124134
```bash
125-
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_25.04.1/arm-performance-libraries_25.04.1_deb_gcc.tar
135+
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_25.07/arm-performance-libraries_25.07_deb_gcc.tar
126136
```
127137

128138
Use `tar` to extract the file and then change directory:
129139

130140
```bash
131-
tar xf arm-performance-libraries_25.04.1_deb_gcc.tar
141+
tar xf arm-performance-libraries_25.07_deb_gcc.tar
132142
```
133143

134144
Run the installation script as a super user:
135145

136146
```bash
137-
sudo ./arm-performance-libraries_25.04.1_deb/arm-performance-libraries_25.04.1_deb.sh --accept
147+
sudo ./arm-performance-libraries_25.07_deb/arm-performance-libraries_25.07_deb.sh --accept
138148
```
139149

140150
Using the `--accept` switch you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory.
141151

142152
If you want to change the installation directory location use the `--install-to` option with the script and provide the desired directory location.
143153

144-
## How do I download and install Arm Performance Libraries using system packages on Linux?
154+
### How do I download and install Arm Performance Libraries using system packages on Linux?
145155

146156
Arm Performance Libraries are available to install using Linux system package managers. The instructions shown below are for the Ubuntu system package manager `apt` command.
147157

@@ -190,13 +200,13 @@ module avail
190200
The output should be similar to:
191201

192202
```output
193-
armpl/25.04.1_gcc
203+
armpl/25.07_gcc
194204
```
195205

196206
Load the appropriate module:
197207

198208
```console
199-
module load armpl/25.04.1_gcc
209+
module load armpl/25.07_gcc
200210
```
201211

202212
You can now compile and test the examples included in the `/opt/arm/<armpl_dir>/examples/`, or `<install_dir>/<armpl_dir>/examples/` directory, if you have installed to a different location than the default.
Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
---
2+
title: Container CLI for macOS
3+
4+
draft: true
5+
6+
author: Rani Chowdary Mandepudi
7+
8+
minutes_to_complete: 10
9+
10+
official_docs: https://github.com/apple/container
11+
12+
additional_search_terms:
13+
- container
14+
- virtualization
15+
16+
layout: installtoolsall
17+
multi_install: false
18+
multitool_install_part: false
19+
test_maintenance: false
20+
weight: 1
21+
---
22+
23+
Container CLI is an open-source command line tool from Apple for building and running Arm Linux containers directly on macOS using lightweight virtual machines, without the need for Docker Desktop or Linux VMs.
24+
25+
It supports the full OCI (Open Container Initiative) workflow: building, running, tagging, and pushing container images.
26+
27+
## What should I do before installing the Container CLI?
28+
29+
This article provides a step-by-step guide to install and use the `container` command-line tool for building and running Arm Linux containers natively on macOS systems with Apple silicon.
30+
31+
Confirm you are using an Apple silicon Mac by running:
32+
33+
```bash
34+
uname -m
35+
```
36+
37+
The output on macOS is:
38+
39+
```output
40+
arm64
41+
```
42+
43+
Container CLI only works on Macs with Apple silicon, including M1, M2, M3, and M4.
44+
45+
Use the following command to verify macOS version:
46+
47+
```bash
48+
sw_vers -productVersion
49+
```
50+
51+
Example output:
52+
53+
```output
54+
15.5
55+
```
56+
57+
Your computer must be running macOS 15.0 or later to use the Container CLI.
58+
59+
## How do I install Container CLI?
60+
61+
To install Container CLI on macOS, follow the steps below:
62+
63+
From the [official GitHub Release page](https://github.com/apple/container/releases), download the latest signed `.pkg` installer.
64+
65+
For example:
66+
67+
```bash
68+
wget https://github.com/apple/container/releases/download/0.2.0/container-0.2.0-installer-signed.pkg
69+
```
70+
71+
Install the downloaded package using:
72+
73+
```bash
74+
sudo installer -pkg container-0.2.0-installer-signed.pkg -target /
75+
```
76+
77+
This installs the Container binary at `/usr/local/bin/container`
78+
79+
After installation, start the container system service by running the following command:
80+
81+
```bash
82+
container system start
83+
```
84+
85+
{{% notice Note %}}
86+
The system service must be running to use container operations such as build, run, or push. It may also need to be started again after a reboot, depending on system settings.
87+
{{% /notice %}}
88+
89+
The background server process is now running.
90+
91+
Verify the CLI version:
92+
93+
```bash
94+
container --version
95+
```
96+
97+
Example output:
98+
99+
```output
100+
container CLI version 0.2.0
101+
```
102+
103+
This confirms that the Container CLI is successfully installed and ready to use.
104+
105+
## How do I build, run, and push a container using the Container CLI?
106+
107+
### Create a Dockerfile
108+
109+
You can define a simple image that prints the system architecture.
110+
111+
Use an editor to create a file named `Dockerfile` with the following contents:
112+
113+
```bash
114+
FROM ubuntu:latest
115+
CMD echo -n "Architecture is " && uname -m
116+
```
117+
118+
### Build the container image
119+
120+
Build the image from the `Dockerfile`.
121+
122+
This will pull the Ubuntu base image and tag the result as `uname`.
123+
124+
```bash
125+
container build -t uname .
126+
```
127+
128+
The output will be similar to:
129+
130+
```output
131+
Successfully built uname:latest
132+
```
133+
134+
### Run the container
135+
136+
Execute the container to verify it runs successfully and prints the system architecture.
137+
138+
```bash
139+
container run --rm uname
140+
```
141+
142+
The output is:
143+
144+
```output
145+
Architecture is aarch64
146+
```
147+
148+
The `--rm` flag removes the container after it finishes.
149+
150+
### Tag and push the image
151+
152+
Once the image is built and tested locally, it can be pushed to a container registry such as Docker Hub. This allows the image to be reused across machines or shared with others.
153+
154+
Use the `tag` command to apply a registry-compatible name to the image:
155+
156+
```bash
157+
container images tag uname docker.io/<your-username>/uname:latest
158+
```
159+
160+
Replace `<your-username>` with your Docker Hub username.
161+
162+
Before pushing the image, log in to Docker Hub:
163+
164+
```bash
165+
container registry login docker.io
166+
```
167+
168+
Enter your Docker Hub username and password.
169+
170+
{{% notice Note %}}
171+
The same command works with other registries such as GitHub Container Registry (ghcr.io) or any OCI-compliant registry. Replace `docker.io` with the appropriate registry hostname.
172+
{{% /notice %}}
173+
174+
Next, upload the tagged image to Docker Hub.
175+
176+
```bash
177+
container images push docker.io/<your-username>/uname:latest
178+
```
179+
180+
Once the push completes successfully, the image will be available in the Docker Hub repository. It can be pulled and run on other systems that support the Arm architecture.
181+
182+
## How can I list images and containers?
183+
184+
You can view locally built or pulled images using:
185+
186+
```bash
187+
container images ls
188+
```
189+
190+
To see running or previously executed containers:
191+
192+
```bash
193+
container ls
194+
```
195+
196+
## How do I uninstall the Container CLI?
197+
198+
The Container CLI includes an uninstall script that allows you to remove the tool from your system. You can choose to remove the CLI with or without user data.
199+
200+
Uninstall and keep user data (images, containers):
201+
202+
```bash
203+
uninstall-container.sh -k
204+
```
205+
206+
Use this if you plan to reinstall later and want to preserve your local container data.
207+
208+
Uninstall and delete all user data:
209+
210+
```bash
211+
uninstall-container.sh -d
212+
```
213+
This will permanently remove the CLI and all container images, logs, and metadata.
214+
215+
You can now build and run Arm Linux containers on macOS.

content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
---
22
title: Optimize Arm applications and shared libraries with BOLT
33

4-
draft: true
5-
cascade:
6-
draft: true
7-
84
minutes_to_complete: 30
95

10-
who_is_this_for: Performance engineers and software developers working on Arm platforms who want to optimize both application binaries and shared libraries using BOLT.
6+
who_is_this_for: This is an advanced topic for performance engineers and software developers targeting Arm platforms who want to optimize application binaries and shared libraries using BOLT.
117

128
learning_objectives:
13-
- Instrument and optimize application binaries for individual workload features using BOLT.
14-
- Collect separate BOLT profiles and merge them for comprehensive code coverage.
15-
- Optimize shared libraries independently.
16-
- Integrate optimized shared libraries into applications.
17-
- Evaluate and compare application and library performance across baseline, isolated, and merged optimization scenarios.
9+
- Instrument and optimize application binaries for individual workload features using BOLT
10+
- Collect and merge separate BOLT profiles to improve code coverage
11+
- Optimize shared libraries independently of application binaries
12+
- Integrate optimized shared libraries into applications
13+
- Evaluate and compare performance across baseline, isolated, and merged optimization scenarios
1814

1915
prerequisites:
20-
- An Arm based system running Linux with [BOLT](/install-guides/bolt/) and [Linux Perf](/install-guides/perf/) installed.
16+
- An Arm-based Linux system with [BOLT](/install-guides/bolt/) and [Linux Perf](/install-guides/perf/) installed
2117

2218
author: Gayathri Narayana Yegna Narayanan
2319

Binary file not shown.

0 commit comments

Comments
 (0)