# Arm Performance Libraries

## About this Install Guide

| Reading time:              | 10 min          |
|----------------------------|------------------|
| Last updated:              | 11 Aug 2026      |
| Ecosystem dashboard:       | [View](https://developer.arm.com/ecosystem-dashboard/windows?package=Arm%20Performance%20Libraries) |

This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.

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

These libraries include highly-optimized functions for BLAS, LAPACK, FFT, sparse linear algebra, random number generation, libamath, and libastring.

Arm Performance Libraries are free to use and don’t require a license. These libraries are available for use on [Windows 11 on Arm](#windows), [macOS](#macos) (Apple Silicon), and [Linux](#linux) (AArch64) hosts.

## Install Arm Performance Libraries on Windows

On your Windows 11 Arm machine, go to the [Arm Performance Libraries download page](https://developer.arm.com/downloads/-/arm-performance-libraries). Click the **Download Windows** section and download the Windows Installer: 

```
arm-performance-libraries_<version>_Windows.msi
```

Double-click to open the installer and start the Arm Performance Libraries Setup Wizard.

![Arm Performance Libraries Setup Wizard welcome screen prompting user to select Next to begin the installation.](https://developer.arm.com/install-guides/_images/armpl_wizard00.png)

Read and accept the End-User License Agreement by selecting the checkbox **I accept the terms of this License Agreement**.

![Arm Performance Libraries Setup Wizard showing the End-User License Agreement. A checkbox labeled ‘I accept the terms of this License Agreement’ is checked.](https://developer.arm.com/install-guides/_images/armpl_wizard01.png)

Enter a location for the installation on your system. The default is:

```
C:\Program Files\Arm Performance Libraries
```

![Arm Performance Libraries Setup Wizard showing the installation directory field, set by default to C:\Program Files\Arm Performance Libraries. Change this path if needed before continuing.](https://developer.arm.com/install-guides/_images/armpl_wizard02.png)

Click **Install** and then **Finish** to complete the installation.

![Arm Performance Libraries Setup Wizard is ready to install, prompting user to select Install to begin copying files to the specified directory.](https://developer.arm.com/install-guides/_images/armpl_wizard03.png)

![Arm Performance Libraries Setup Wizard showing the installation is complete, prompting user to select Finish to exit the wizard.](https://developer.arm.com/install-guides/_images/armpl_wizard04.png)

To install Arm Performance Libraries from a command prompt and automatically accept the End User License Agreement, run:

```
msiexec.exe /i arm-performance-libraries_<version>_Windows.msi /quiet ACCEPT_EULA=1
```

To install Arm Performance Libraries using the `winget` package manager and automatically accept the End User License Agreement, run:

```
winget install --accept-package-agreements Arm.ArmPerformanceLibraries
```

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.

For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109361).

## Install Arm Performance Libraries on macOS

[Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your macOS distribution.

<div>
**Note**
</div>
The following commands use Arm Performance Libraries version 26.07. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Performance Libraries downloads](https://developer.arm.com/downloads/-/arm-performance-libraries).

In a terminal, run the following command to download the macOS package:

```
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.07/arm-performance-libraries_26.07_macOS.tgz
```

Use tar to extract the file:

```
tar zxvf arm-performance-libraries_26.07_macOS.tgz
```

The output is similar to:

```
armpl_26.07_flang-22.dmg
```

Mount the disk image by running the following command from a terminal:

```
hdiutil attach armpl_26.07_flang-22.dmg
```

Now run the installation script as a superuser:

```
/Volumes/armpl_26.07_flang-22_installer/armpl_26.07_flang-22_install.sh -y
```

Using this command, you automatically accept the End User License Agreement and install packages 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.

To install Arm Performance Libraries using Homebrew in a terminal and automatically accept the End User License Agreement, run:

```
brew install arm-performance-libraries
```

The installer runs using `sudo`, so you may be asked to input your password.

To get started with Arm Performance Libraries on macOS, compile and test the examples in the `/opt/arm/<armpl_dir>/examples/` directory, or `<install_dir>/<armpl_dir>/examples/` if you installed to a different location.

For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109362).

## Install Arm Performance Libraries on Linux

Arm Performance Libraries are supported on most Linux distributions such as Ubuntu, RHEL, SLES, and Amazon Linux on an `AArch64` host. The libraries are 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 15. The LLVM-compatible releases are tested with LLVM 22.1. The NVHPC-compatible releases are tested with NVHPC 26.3.

### Manually download and install Arm Performance Libraries

Download the appropriate package for your Linux distribution. The `deb`-based installers can be used on Ubuntu 22 and Ubuntu 24. The RPM-based installers can be used on the following supported distributions:

- Amazon Linux 2023
- RHEL-8, RHEL-9, RHEL-10
- SLES-15 Service Packs 6 and 7

The following instructions are for `deb`-based installers for GCC users.

<div>
**Note**
</div>
The following commands use Arm Performance Libraries version 26.07. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Performance Libraries downloads](https://developer.arm.com/downloads/-/arm-performance-libraries).

In a terminal, run the following command to download the Debian package:

```
wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.07/arm-performance-libraries_26.07_deb_gcc.tar
```

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

```
tar xf arm-performance-libraries_26.07_deb_gcc.tar
```

Run the installation script as a super user:

```
sudo ./arm-performance-libraries_26.07_deb/arm-performance-libraries_26.07_deb.sh --accept
```

Using the `--accept` switch, 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-to` option with the script and provide the desired directory location.

### Download and install Arm Performance Libraries using system packages

Arm Performance Libraries are available to install using Linux system package managers. The following instructions are for the Ubuntu 24.04 system package manager `apt` command.

<div>
**Note**
</div>
Arm has recently reviewed and strengthened our repository management processes. As a consequence we have revoked and replaced the Arm Toolchains repository signing key used up to July 2026. Current installations of Arm Performance Libraries continue to work although package manager update or upgrade operations may fail. Existing package users will need to install the latest arm-toolchains-repository package for their distribution as shown below. For more information see [the Arm Toolchains Repository installation guide](https://learn.arm.com/install-guides/arm-toolchains-repository).

Add the Arm Toolchains `apt` package repository to your system:

```
curl -O https://developer.arm.com/packages/arm-toolchains/ubuntu/pool/arm-toolchains-repository_2-2~noble_all.deb
sudo dpkg -i arm-toolchains-repository_2-2~noble_all.deb
sudo apt update
```

For more information about setting up the Arm Toolchains repository, see [Arm Toolchains](https://learn.arm.com/install-guides/arm-toolchains-repository/).

Download and install Arm Performance Libraries:

```
sudo apt install arm-performance-libraries
```

### Set up the environment for Arm Performance Libraries

Install environment modules on your Linux machine:

```
sudo apt install environment-modules
```

Set your bash environment to use the modules:

```
source /usr/share/modules/init/bash
```

Set the `MODULEPATH` environment variable to point to the location of the installed modulefiles for Arm Performance Libraries:

```
export MODULEPATH=$MODULEPATH:/opt/arm/modulefiles
```

List the available modules:

```
module avail
```

The output is similar to:

```
__output__ armpl/26.07_gcc
```

Load the appropriate module:

```
module load armpl/26.07_gcc
```

To get started with Arm Performance Libraries on Linux, compile and test the examples in the `/opt/arm/<armpl_dir>/examples/` directory, or `<install_dir>/<armpl_dir>/examples/` if you installed to a different location.

For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/102620).
