You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/install-guides/armpl.md
+24-14Lines changed: 24 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,8 +32,8 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar
32
32
33
33
[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.
34
34
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.
37
37
38
38
Arm Performance Libraries are available for use on [Windows 11 on Arm](#windows), [macOS](#macos) (Apple Silicon), and [Linux](#linux) (AArch64) hosts.
39
39
@@ -63,6 +63,16 @@ Click 'Install' and then 'Finish' to complete the installation.
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.
67
77
68
78
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
74
84
75
85
In a terminal, run the command shown below to download the macOS package:
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
107
117
108
118
## How do I install Arm Performance Libraries on Linux? {#linux}
109
119
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.
111
121
112
122
### How do I manually download and install Arm Performance Libraries on Linux?
113
123
@@ -122,26 +132,26 @@ The instructions shown below are for deb based installers for GCC users.
122
132
In a terminal, run the command shown below to download the Debian package:
Using the `--accept` switch you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory.
141
151
142
152
If you want to change the installation directory location use the `--install-to` option with the script and provide the desired directory location.
143
153
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?
145
155
146
156
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.
147
157
@@ -190,13 +200,13 @@ module avail
190
200
The output should be similar to:
191
201
192
202
```output
193
-
armpl/25.04.1_gcc
203
+
armpl/25.07_gcc
194
204
```
195
205
196
206
Load the appropriate module:
197
207
198
208
```console
199
-
module load armpl/25.04.1_gcc
209
+
module load armpl/25.07_gcc
200
210
```
201
211
202
212
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.
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.
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.
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.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/bolt-merge/_index.md
+7-11Lines changed: 7 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,19 @@
1
1
---
2
2
title: Optimize Arm applications and shared libraries with BOLT
3
3
4
-
draft: true
5
-
cascade:
6
-
draft: true
7
-
8
4
minutes_to_complete: 30
9
5
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.
11
7
12
8
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
18
14
19
15
prerequisites:
20
-
- An Armbased 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
0 commit comments