Arm Performance Libraries Release History
This page describes the changes between releases of Arm Performance Libraries (standalone version).
To download and install the latest version of Arm Performance Libraries, see our downloads page.
Arm Performance Libraries is also available as part of the Arm Compiler for Linux product. For more information, see the Arm Compiler for Linux page.
Download Free Arm Performance Libraries (Free ArmPL)
Version 23.04.1
Released: May 19, 2023
-
Download Free Arm Performance Libraries (Free ArmPL): 23.04.1 May 19, 2023
What's new in 23.04.1
Arm Performance Libraries 23.04.1 covers the following releases:
- Arm Performance Libraries 23.04.1 - Released 19th May 2023
- Arm Performance Libraries 23.04.0 - Released 24th March 2023
Release summary
Arm Performance Libraries 23.04.1 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
- GCC 11.3
- GCC 12.2
Arm Performance Libraries
Additions and changes:
There are no new features or components added, or any technical changes to features or components, in the 23.04.1 release.
This section describes the new features or components added, or any significant technical changes to features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Sparse matrix functionality:
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across microarchitectures.
- FFT functions.
Resolved issues:
This section describes any technical issues resolved in the 23.04.1 release.
- Integer overflow fixed in armpl_spmat_export* functions in lp64 libraries.
This section describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Open technical issues:
There are no open technical issues in 23.04.1 release.
There are no open technical issues in 23.04.0 release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 23.04.1
×Arm Performance Libraries 23.04.1 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with the
following versions of GCC:-
GCC 7.5
-
GCC 8.2
-
GCC 9.3
-
GCC 10.2
-
GCC 11.3
-
GCC 12.2
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.1 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.1
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
There are no new features or components added, or any technical changes to
features or components, in the 23.04.1 release.
Describes new features or components added, or any technical changes to
features or components, in the 23.04 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.1 release.
- Integer overflow fixed in armpl_spmat_export* functions in lp64 libraries.
Describes any technical issues resolved in the 23.04 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.1 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.1_gcc-12.2,
and <install_location>/armpl_23.04.1_gcc-12.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.1_gcc-12.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.1_gcc-12.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.1_gcc-12.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.1_gcc-12.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.1_gcc-12.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com. -
- EULA
-
Download Free Arm Performance Libraries (Free ArmPL): 23.04 March 24, 2023
What's new in 23.04
Arm Performance Libraries 23.04 covers the following releases:
- Arm Performance Libraries 23.04.0 - Released 24th March 2023
Release summary
Arm Performance Libraries 23.04.0 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
- GCC 11.2
- GCC 12.2
Arm Performance Libraries
Additions and changes:
This section describes the new features or components added, or any significant technical changes to features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Sparse matrix functionality:
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across microarchitectures.
- FFT functions.
Resolved issues:
This section describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Open technical issues:
There are no open technical issues in 23.04.0 release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 23.04
×Release Notes for each version of GCC supported:
Arm Performance Libraries 23.04.0 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
7.5.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.0_gcc-7.5,
and <install_location>/armpl_23.04.0_gcc-7.5,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.0_gcc-7.5
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.0_gcc-7.5/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.0_gcc-7.5/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.0_gcc-7.5
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.0_gcc-7.5/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 23.04.0 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
8.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.0_gcc-8.2,
and <install_location>/armpl_23.04.0_gcc-8.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.0_gcc-8.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.0_gcc-8.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.0_gcc-8.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.0_gcc-8.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.0_gcc-8.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 23.04.0 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
9.3.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.0_gcc-9.3,
and <install_location>/armpl_23.04.0_gcc-9.3,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.0_gcc-9.3
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.0_gcc-9.3/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.0_gcc-9.3/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.0_gcc-9.3
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.0_gcc-9.3/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 23.04.0 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
10.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.0_gcc-10.2,
and <install_location>/armpl_23.04.0_gcc-10.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.0_gcc-10.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.0_gcc-10.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.0_gcc-10.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.0_gcc-10.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.0_gcc-10.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 23.04 Release Note
============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
11.3.0.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04_gcc-11.3.0,
and <install_location>/armpl_23.04_gcc-11.3.0,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04_gcc-11.3.0
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04_gcc-11.3.0/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04_gcc-11.3.0/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04_gcc-11.3.0
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04_gcc-11.3.0/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 23.04.0 Release Note
==============================================
Non-Confidential
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
12.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 23.04.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 23.04.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 23.04.0 release.
- New routines for sparse linear algebra, including parallel optimizations:
- Sparse matrix functionality:
- Triangular matrix solve: armpl_spsv_exec_*
- Introduction of a new sparse vector type, armpl_spvect_t. Routines for
operations on sparse vectors:
- Dot product: armpl_spdot*_exec_*
- AXPBY: armpl_spaxpby_exec_*, armpl_spwaxpby_exec_*
- Plane rotation: armpl_sprot_exec_*
- Utilities: armpl_spvec_gather_exec_*, armpl_spvec_scatter_exec_*
- See examples and online documentation for details.
- Support for LAPACK version 3.11.0.
- Increased performance for:
- Small ?GEMM problems.
- Large parallel thread counts for all BLAS routines across
microarchitectures.
- FFT functions.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 23.04.0 release.
- pkgconfig files renamed and relocated.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 23.04.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement ("EULA"). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 3.6 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_23.04.0_gcc-12.2,
and <install_location>/armpl_23.04.0_gcc-12.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/23.04.0_gcc-12.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_23.04.0_gcc-12.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_23.04.0_gcc-12.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/23.04.0_gcc-12.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_23.04.0_gcc-12.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7, 8 and 9
- AArch64 SLES 15
- AArch64 Ubuntu 20.04 and 22.04
- AArch64 Amazon Linux 2 and 2023
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED "AS IS". ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word "partner" in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2023] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com. - EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 22.1 September 23, 2022
What's new in 22.1
Arm Performance Libraries 22.1 covers the following releases:
- Arm Performance Libraries 22.1.0 - Released 23rd September 2022
Release summary
Arm Performance Libraries 22.1.0 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
- GCC 11.2
Arm Performance Libraries
Additions and changes:
This section describes the new features or components added, or any significant technical changes to features or components, in the 22.1 release.
- Arm Compiler for Linux suite 22.1
- No changes
- Arm C/C++/Fortran Compiler 22.1:
- In previous releases, Arm Compiler for Linux supported custom extensions to the OpenMP pragma "declare variant". These extensions are deprecated in Arm Compiler for Linux 22.1. Support will be removed from Arm Compiler for Linux in version 23.0. As a result users won't be able to define custom vector equivalents of scalar functions. Arm Compiler for Linux 22.1 issues a warning message when such a construct is encountered. The deprecated features are:
- The "scalable" extension to the #pragma omp declare variant,
- Specifying context properties for the context set 'construct' in the context selector 'simd', in certain constructs. See documentation for more details: https://developer.arm.com/documentation/101458/2202/Optimize/Vector- routines-support/How-to-declare-custom-vector-routines-in-Arm-C-C---Compiler
- Improved the vectorization of loops that include the 'omp parallel for' or 'omp parallel for simd' constructs.
- In previous releases, Arm Compiler for Linux supported custom extensions to the OpenMP pragma "declare variant". These extensions are deprecated in Arm Compiler for Linux 22.1. Support will be removed from Arm Compiler for Linux in version 23.0. As a result users won't be able to define custom vector equivalents of scalar functions. Arm Compiler for Linux 22.1 issues a warning message when such a construct is encountered. The deprecated features are:
- Arm Performance Libraries 22.1.0:
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- FFT functions.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR, *GEBRD, *GEQRF
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
- Increased performance for:
Resolved issues:
- Arm Compiler for Linux suite 22.1:
- The Arm Compiler for Linux installer no longer requires a python2 installation.
- Arm C/C++/Fortran Compiler 22.1:
- Fixed an internal compiler error in armflang when the move_alloc Fortran intrinsic procedure is called on a field value of a deeply nested derived type.
- Fixed an internal compiler error in armclang that caused the error "fatal error: error in backend: Cannot select" when compiling code using a bfcvt instruction in an inline assembly block at -O1 and above.
- Fixed a code generation bug affecting functions that contain SVE state and allocate variable length arrays
- Fixed an issue where the ACLE feature macros for the BFloat16 extension were not correctly defined on targets where the extension is supported.
- Fixed a compilation failure when including the arm_sve.h header with the POSIX netdb.h header.
- Arm Performance Libraries 22.1.0:
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Open technical issues:
- Arm C/C++/Fortran Compiler 22.1:
- In November 2021, two general source code vulnerabilities in compilers were disclosed - CVE-2021-42574 and CVE-2021-42694. Both exploits use Unicode characters to make source code look different when viewed in a text editor to what is processed by the compiler. This exploit could be used by a malicious programmer to inject malicious code into software that looks non-malicious when reviewed or inspected by programmers responsible for the integrity of said software. Arm Compiler for Linux does not have any mitigation for source code containing these attacks. Arm recommends using static analysis tools to detect such vulnerabilities in source code before compilation. For more information see https://developer.arm.com/documentation/ka005002
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 22.1
×Release Notes for each version of GCC supported:
Arm Performance Libraries 22.1.0 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
7.5.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.1.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 22.1.0 release.
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR,
*GEBRD, *GEQRF.
- FFT functions.
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 22.1.0 release.
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 22.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.1.0_gcc-7.5,
and <install_location>/armpl_22.1.0_gcc-7.5,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.1.0_gcc-7.5
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.1.0_gcc-7.5/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.1.0_gcc-7.5/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.1.0_gcc-7.5
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.1.0_gcc-7.5/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 22.1.0 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
8.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.1.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 22.1.0 release.
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR,
*GEBRD, *GEQRF.
- FFT functions.
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 22.1.0 release.
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 22.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.1.0_gcc-8.2,
and <install_location>/armpl_22.1.0_gcc-8.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.1.0_gcc-8.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.1.0_gcc-8.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.1.0_gcc-8.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.1.0_gcc-8.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.1.0_gcc-8.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 22.1.0 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
9.3.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.1.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 22.1.0 release.
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR,
*GEBRD, *GEQRF.
- FFT functions.
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 22.1.0 release.
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 22.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.1.0_gcc-9.3,
and <install_location>/armpl_22.1.0_gcc-9.3,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.1.0_gcc-9.3
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.1.0_gcc-9.3/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.1.0_gcc-9.3/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.1.0_gcc-9.3
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.1.0_gcc-9.3/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 22.1.0 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
10.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.1.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 22.1.0 release.
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR,
*GEBRD, *GEQRF.
- FFT functions.
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 22.1.0 release.
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 22.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.1.0_gcc-10.2,
and <install_location>/armpl_22.1.0_gcc-10.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.1.0_gcc-10.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.1.0_gcc-10.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.1.0_gcc-10.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.1.0_gcc-10.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.1.0_gcc-10.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.Arm Performance Libraries 22.1.0 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
11.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.1.0
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 22.1.0 release.
- Increased performance for:
- BLAS level 1 and level 2 routines in serial and parallel.
- BLAS DGEMM scaling for high numbers of cores.
- LAPACK SVD routines *GESVD, *GESDD, involving:
- *ORGQR, *ORMQR, *UNGQR, *UNMQR, *ORGLQ, *ORMLQ, *UNGLQ, *UNMLQ, *BDSQR,
*GEBRD, *GEQRF.
- FFT functions.
- Performance improvements in libamath, for:
- asinh (scalar), asinhf (scalar & vector)
- exp, expf (vector)
- log10, log10f (vector)
- log1p (scalar), log1pf (scalar & vector)
- Support for LAPACK version 3.10.1.
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in the 22.1.0 release.
- Bug fixes for cblas_*gemmt and cblas_*axpby (OpenMP) functions.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 22.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.1.0_gcc-11.2,
and <install_location>/armpl_22.1.0_gcc-11.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.1.0_gcc-11.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.1.0_gcc-11.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.1.0_gcc-11.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.1.0_gcc-11.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.1.0_gcc-11.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found
on the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com. - EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 22.0.2 May 25, 2022
What's new in 22.0.2
Arm Performance Libraries 22.0 covers the following releases:
- Arm Performance Libraries 22.0.2 - Released 25th May 2022
- Arm Performance Libraries 22.0.1 - Released 1st April 2022
Release summary
Arm Performance Libraries 22.0.2 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
- GCC 11.2
Arm Performance Libraries
Additions and changes:
- 22.0.0
- The freely distributed version of Arm Performance Libraries is now optimized for more microarchitectures, including:
- Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
- Neoverse V1
- Neoverse N2
- Fujitsu A64FX
- Marvell ThunderX2
- Improved the performance for:
- BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
- BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV for large problems
- BLAS level 3 routines: ?TRMM and ?TRSM for large problems
- LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems; ?POTRF for multithreaded cases
-
Added support for I?AMIN BLAS extension routines for all types, finding the location of the first minimum value in a vector.
-
Added support for LAPACK version 3.10.0. In addition, an out of bounds bug in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
- atan, atanf (vector)
- atan2, atan2f (scalar & vector)
- cos, cosf (vector)
- erfc, erfcf (vector)
- exp, expf (vector)
- logf (vector)
- pow (vector)
- sin, sinf (vector)
- tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need to link to libgfortran.
- The freely distributed version of Arm Performance Libraries is now optimized for more microarchitectures, including:
Resolved issues:
- 22.0.2
- There are no resolved issues to report in the 22.0.2 release.
Open technical issues:
- 22.0.2
- There are no open technical issues in 22.0.2 release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 22.0.2
×Release Notes for each version of GCC supported:
Arm Performance Libraries 22.0.2 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
7.5.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.0.2 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.0.2
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
There are no new features or components added, or any technical changes to
features or components, in the 22.0.2 release.There are no new features or components added, or any technical changes to
features or components, in the 22.0.1 release.
This section describes the new features or components added, or any technical
changes to features or components, in the 22.0.0 release.
- The freely distributed version of Arm Performance Libraries is now optimized
for more microarchitectures, including:
* Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
* Neoverse V1
* Neoverse N2
* Fujitsu A64FX
* Marvell ThunderX2
- Improved the performance for:
* BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
* BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV
for large problems
* BLAS level 3 routines: ?TRMM and ?TRSM for large problems
* LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems;
?POTRF for multithreaded cases
- Added support for I?AMIN BLAS extension routines for all types, finding the
location of the first minimum value in a vector.
- Added support for LAPACK version 3.10.0. In addition, an out of bounds bug
in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
* atan, atanf (vector)
* atan2, atan2f (scalar & vector)
* cos, cosf (vector)
* erfc, erfcf (vector)
* exp, expf (vector)
* logf (vector)
* pow (vector)
* sin, sinf (vector)
* tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need
to link to libgfortran.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 22.0.2 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in the 22.0.2 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.0.2_gcc-7.5,
and <install_location>/armpl_22.0.2_gcc-7.5,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.0.2_gcc-7.5
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.0.2_gcc-7.5/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.0.2_gcc-7.5/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.0.2_gcc-7.5
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.0.2_gcc-7.5/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found on
the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.
Arm Performance Libraries 22.0.2 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
8.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.0.2 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.0.2
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~There are no new features or components added, or any technical changes to
features or components, in the 22.0.2 release.There are no new features or components added, or any technical changes to
features or components, in the 22.0.1 release.
This section describes the new features or components added, or any technical
changes to features or components, in the 22.0.0 release.
- The freely distributed version of Arm Performance Libraries is now optimized
for more microarchitectures, including:
* Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
* Neoverse V1
* Neoverse N2
* Fujitsu A64FX
* Marvell ThunderX2
- Improved the performance for:
* BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
* BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV
for large problems
* BLAS level 3 routines: ?TRMM and ?TRSM for large problems
* LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems;
?POTRF for multithreaded cases
- Added support for I?AMIN BLAS extension routines for all types, finding the
location of the first minimum value in a vector.
- Added support for LAPACK version 3.10.0. In addition, an out of bounds bug
in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
* atan, atanf (vector)
* atan2, atan2f (scalar & vector)
* cos, cosf (vector)
* erfc, erfcf (vector)
* exp, expf (vector)
* logf (vector)
* pow (vector)
* sin, sinf (vector)
* tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need
to link to libgfortran.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 22.0.2 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in the 22.0.2 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.0.2_gcc-8.2,
and <install_location>/armpl_22.0.2_gcc-8.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.0.2_gcc-8.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.0.2_gcc-8.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.0.2_gcc-8.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.0.2_gcc-8.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.0.2_gcc-8.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found on
the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.
Arm Performance Libraries 22.0.2 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
9.3.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.0.2 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.0.2
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
There are no new features or components added, or any technical changes to
features or components, in the 22.0.2 release.There are no new features or components added, or any technical changes to
features or components, in the 22.0.1 release.
This section describes the new features or components added, or any technical
changes to features or components, in the 22.0.0 release.
- The freely distributed version of Arm Performance Libraries is now optimized
for more microarchitectures, including:
* Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
* Neoverse V1
* Neoverse N2
* Fujitsu A64FX
* Marvell ThunderX2
- Improved the performance for:
* BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
* BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV
for large problems
* BLAS level 3 routines: ?TRMM and ?TRSM for large problems
* LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems;
?POTRF for multithreaded cases
- Added support for I?AMIN BLAS extension routines for all types, finding the
location of the first minimum value in a vector.
- Added support for LAPACK version 3.10.0. In addition, an out of bounds bug
in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
* atan, atanf (vector)
* atan2, atan2f (scalar & vector)
* cos, cosf (vector)
* erfc, erfcf (vector)
* exp, expf (vector)
* logf (vector)
* pow (vector)
* sin, sinf (vector)
* tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need
to link to libgfortran.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 22.0.2 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in the 22.0.2 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.0.2_gcc-9.3,
and <install_location>/armpl_22.0.2_gcc-9.3,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.0.2_gcc-9.3
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.0.2_gcc-9.3/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.0.2_gcc-9.3/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.0.2_gcc-9.3
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.0.2_gcc-9.3/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found on
the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.
Arm Performance Libraries 22.0.2 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
10.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.0.2 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.0.2
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~There are no new features or components added, or any technical changes to
features or components, in the 22.0.2 release.There are no new features or components added, or any technical changes to
features or components, in the 22.0.1 release.
This section describes the new features or components added, or any technical
changes to features or components, in the 22.0.0 release.
- The freely distributed version of Arm Performance Libraries is now optimized
for more microarchitectures, including:
* Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
* Neoverse V1
* Neoverse N2
* Fujitsu A64FX
* Marvell ThunderX2
- Improved the performance for:
* BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
* BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV
for large problems
* BLAS level 3 routines: ?TRMM and ?TRSM for large problems
* LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems;
?POTRF for multithreaded cases
- Added support for I?AMIN BLAS extension routines for all types, finding the
location of the first minimum value in a vector.
- Added support for LAPACK version 3.10.0. In addition, an out of bounds bug
in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
* atan, atanf (vector)
* atan2, atan2f (scalar & vector)
* cos, cosf (vector)
* erfc, erfcf (vector)
* exp, expf (vector)
* logf (vector)
* pow (vector)
* sin, sinf (vector)
* tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need
to link to libgfortran.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 22.0.2 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in the 22.0.2 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.0.2_gcc-10.2,
and <install_location>/armpl_22.0.2_gcc-10.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.0.2_gcc-10.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.0.2_gcc-10.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.0.2_gcc-10.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.0.2_gcc-10.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.0.2_gcc-10.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact Arm Support at https://developer.arm.com/support.
Support
=======
The documentation that is available for Arm Performance Libraries can be found on
the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.
Arm Performance Libraries 22.0.2 Release Note
=============================================
Non-Confidential
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The standalone version of Arm Performance Libraries contains optimized
math functions, such as linear algebra and Fast Fourier Transforms, for Arm
AArch64 implementations, including those with SVE. It is compatible with GCC
11.2.
Arm Performance Libraries is optimized for a number of microarchitectures. The
latest information is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release status
--------------
This is the 22.0.2 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 22.0.2
- Release Notes (this document)
- Documentation
Product documentation is available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Documentation and release notes might change between product releases. For the
latest documentation bundle, check the product download page.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. Adobe reader
products are available at https://www.adobe.com.
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
There are no new features or components added, or any technical changes to
features or components, in the 22.0.2 release.There are no new features or components added, or any significant technical
changes to features or components, in the 22.0.1 release.
This section describes the new features or components added, or any technical
changes to features or components, in the 22.0.0 release.
- The freely distributed version of Arm Performance Libraries is now optimized
for more microarchitectures, including:
* Neoverse N1 (such as Amazon Graviton 2 and Ampere Altra)
* Neoverse V1
* Neoverse N2
* Fujitsu A64FX
* Marvell ThunderX2
- Improved the performance for:
* BLAS level 1 routines: SVE optimizations for ?COPY, ?SCAL, ?AXPY
* BLAS level 2 routines: packed and banded functionality; ?TRMV and ?TRSV
for large problems
* BLAS level 3 routines: ?TRMM and ?TRSM for large problems
* LAPACK routines: ?EEVD (eigenvalue decomposition) for small problems;
?POTRF for multithreaded cases
- Added support for I?AMIN BLAS extension routines for all types, finding the
location of the first minimum value in a vector.
- Added support for LAPACK version 3.10.0. In addition, an out of bounds bug
in LAPACK ?LARRV routines (CVE-2021-4048) has been patched.
- Performance improvements in libamath, for:
* atan, atanf (vector)
* atan2, atan2f (scalar & vector)
* cos, cosf (vector)
* erfc, erfcf (vector)
* exp, expf (vector)
* logf (vector)
* pow (vector)
* sin, sinf (vector)
* tanf (vector)
- When using Arm Performance Libraries built for GCC, C/C++ users do not need
to link to libgfortran.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 22.0.2 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in the 22.0.2 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Licensing information
---------------------
Use of the standalone version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, navigate into the extracted package
directory (<package_name>) and run the installation script as a privileged user.
Pass any options to configure the installation:
cd path/to/<package_name>/
./arm-performance-libraries_<version>_*.sh [option]...
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/downloads/-/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_22.0.2_gcc-11.2,
and <install_location>/armpl_22.0.2_gcc-11.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/22.0.2_gcc-11.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_22.0.2_gcc-11.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_22.0.2_gcc-11.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/22.0.2_gcc-11.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/documentation/102620/0100/Compile-and-test-the-examples
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_22.0.2_gcc-11.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
Support
=======
The documentation that is available for Arm Performance Libraries can be found on
the product resources page on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries#Resources
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/documentation/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
- Amazon Linux 2022 (AL 2022)
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/downloads/-/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at https://www.arm.com/company/policies/trademarks.
Copyright © [2015, 2022] Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Inclusive language commitment
-----------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used language that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. To report offensive
language in this document, email terms@arm.com.
- EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 21.1.0 August 24, 2021
What's new in 21.1.0
Arm Performance Libraries 21.1 covers the following releases:
- Arm Performance Libraries 21.1.0 - Released 24th August 2021
Release summary
Arm Performance Libraries 21.1.0 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
Arm Performance Libraries
Additions and changes:
- 21.1.0
- Improved the performance for:
- BLAS level 1 and 2 routines: multithreaded performance improvements
- BLAS level 2 routines: ?GEMV
- BLAS level 3 routines: ?SYRK, ?SYR2K, ?HERK, ?HER2K; and HGEMM for Neoverse N1
- Interleave-batch functions: armpl_dgemm_interleave_batch, armpl_dtrmm_interleave_batch, and armpl_dtrsm_interleave_batch
-
Added support for LAPACK version 3.9.1.
- Added support for symmetric band matrix-vector multiplication BLAS routines: CSBMV and ZSBMV to armpl.h.
Documentation is available at https://developer.arm.com/documentation/101004/2110/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
- Improved the performance of atan2 in libamath.
- Improved the performance for:
Resolved issues:
- 21.1.0
- There are no resolved issues to report in the 21.1.0 release.
Open technical issues:
- 21.1.0
- There are no open technical issues in 21.1.0 release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 21.1.0
×Release Notes for each version of GCC supported:
Arm Performance Libraries 21.1.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.1.0 package provides
GCC 7.5-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.1.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. A suitable file
reader can be downloaded from Adobe at https://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 21.1.0 release.
- Improved the performance for:
* BLAS level 1 and 2 routines: multithreaded performance improvements
* BLAS level 2 routines: ?GEMV
* BLAS level 3 routines: ?SYRK, ?SYR2K, ?HERK, ?HER2K; and HGEMM for
Neoverse N1
* Interleave-batch functions: armpl_dgemm_interleave_batch,
armpl_dtrmm_interleave_batch, and armpl_dtrsm_interleave_batch
- Added support for LAPACK version 3.9.1.
- Added support for symmetric band matrix-vector multiplication BLAS routines:
CSBMV and ZSBMV to armpl.h. Documentation is available at
https://developer.arm.com/documentation/101004/2110/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
- Improved the performance of atan2 in libamath.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 21.1.0 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 21.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.1.0_gcc-7.5.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.1.0_gcc-7.5,
and <install_location>/armpl_21.1.0_gcc-7.5,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.1.0_gcc-7.5
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.1.0_gcc-7.5/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_21.1.0_gcc-7.5/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.1.0_gcc-7.5
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/get-started-with-armpl-free-version/compile-an-example
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.1.0_gcc-7.5/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7
- AArch64 Ubuntu 18.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Arm Performance Libraries 21.1.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.1.0 package provides
GCC 8.2-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.1.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. A suitable file
reader can be downloaded from Adobe at https://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 21.1.0 release.
- Improved the performance for:
* BLAS level 1 and 2 routines: multithreaded performance improvements
* BLAS level 2 routines: ?GEMV
* BLAS level 3 routines: ?SYRK, ?SYR2K, ?HERK, ?HER2K; and HGEMM for
Neoverse N1
* Interleave-batch functions: armpl_dgemm_interleave_batch,
armpl_dtrmm_interleave_batch, and armpl_dtrsm_interleave_batch
- Added support for LAPACK version 3.9.1.
- Added support for symmetric band matrix-vector multiplication BLAS routines:
CSBMV and ZSBMV to armpl.h. Documentation is available at
https://developer.arm.com/documentation/101004/2110/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
- Improved the performance of atan2 in libamath.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 21.1.0 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 21.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.1.0_gcc-8.2.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.1.0_gcc-8.2,
and <install_location>/armpl_21.1.0_gcc-8.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.1.0_gcc-8.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.1.0_gcc-8.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_21.1.0_gcc-8.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.1.0_gcc-8.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/get-started-with-armpl-free-version/compile-an-example
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.1.0_gcc-8.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Arm Performance Libraries 21.1.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.1.0 package provides
GCC 9.3-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.1.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. A suitable file
reader can be downloaded from Adobe at https://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 21.1.0 release.
- Improved the performance for:
* BLAS level 1 and 2 routines: multithreaded performance improvements
* BLAS level 2 routines: ?GEMV
* BLAS level 3 routines: ?SYRK, ?SYR2K, ?HERK, ?HER2K; and HGEMM for
Neoverse N1
* Interleave-batch functions: armpl_dgemm_interleave_batch,
armpl_dtrmm_interleave_batch, and armpl_dtrsm_interleave_batch
- Added support for LAPACK version 3.9.1.
- Added support for symmetric band matrix-vector multiplication BLAS routines:
CSBMV and ZSBMV to armpl.h. Documentation is available at
https://developer.arm.com/documentation/101004/2110/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
- Improved the performance of atan2 in libamath.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 21.1.0 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 21.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.1.0_gcc-9.3.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.1.0_gcc-9.3,
and <install_location>/armpl_21.1.0_gcc-9.3,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.1.0_gcc-9.3
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.1.0_gcc-9.3/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_21.1.0_gcc-9.3/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.1.0_gcc-9.3
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/get-started-with-armpl-free-version/compile-an-example
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.1.0_gcc-9.3/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Arm Performance Libraries 21.1.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm conventions and proprietary notices, including confidentiality status,
terminology statement, and product release status, can be found at the end of
this document.
Contents
========
- Release overview
- Release contents
- Get started
- Support
- Release history
- Glossary
- Proprietary notices
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.1.0 package provides
GCC 10.2-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.1.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.1.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot guarantee
the quality of its PDFs when used with any other PDF reader. A suitable file
reader can be downloaded from Adobe at https://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in the 21.1.0 release.
- Improved the performance for:
* BLAS level 1 and 2 routines: multithreaded performance improvements
* BLAS level 2 routines: ?GEMV
* BLAS level 3 routines: ?SYRK, ?SYR2K, ?HERK, ?HER2K; and HGEMM for
Neoverse N1
* Interleave-batch functions: armpl_dgemm_interleave_batch,
armpl_dtrmm_interleave_batch, and armpl_dtrsm_interleave_batch
- Added support for LAPACK version 3.9.1.
- Added support for symmetric band matrix-vector multiplication BLAS routines:
CSBMV and ZSBMV to armpl.h. Documentation is available at
https://developer.arm.com/documentation/101004/2110/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
- Improved the performance of atan2 in libamath.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 21.1.0 release.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no open technical issues in 21.1.0 release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.1.0_gcc-10.2.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.1.0_gcc-10.2,
and <install_location>/armpl_21.1.0_gcc-10.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.1.0_gcc-10.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.1.0_gcc-10.2/examples*
Multiple examples directories are provided in the installation. The suffix of
the directory name indicates whether the examples inside link to the 32-bit
('_lp64') or 64-bit ('_ilp64') integer variants, and sequential (no suffix
indicator) or OpenMP ('_mp') multi-threaded variants, of Arm Performance
Libraries.
The default set of examples in the 'examples' directory link to the sequential,
32-bit integers variant of Arm Performance Libraries.
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the default 'examples' directory somewhere writeable:
cp -r <install_location>/armpl_21.1.0_gcc-10.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.1.0_gcc-10.2
3. Build the examples:
make
For more information about the Arm Performance Libraries examples, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/get-started-with-armpl-free-version/compile-an-example
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.1.0_gcc-10.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Glossary
========
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
This document may be translated into other languages for convenience, and you
agree that if there is any conflict between the English version of this document
and any translation, the terms of the English version of the Agreement shall
prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
- EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 21.0.0 March 30, 2021
What's new in 21.0.0
Arm Performance Libraries 21.0 covers the following releases:
- Arm Performance Libraries 21.0.0 - Released 30th March 2021
Release summary
Arm Performance Libraries 21.0 is available for the following versions of GCC:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
Arm Performance Libraries
Additions and changes:
- 21.0.0
- Arm Performance Libraries now supports all real-to-real transform functions defined in the FFTW3 interface. Previously, the planner functions for these types of transforms returned NULL, indicating that they were unavailable.
- Added support for ?GEMMT BLAS extension routines for all types, performing matrix-matrix multiplication and updating the lower or upper triangular part
of C only.
- Added a new suite of routines that are optimized for large batches of small linear algebra problems. Interfaces for the following real and double precision problems are provided:
- BLAS: DDOT, DGER, DGEMM, DGEMV, DSCAL, DTRMM, DTRSM, and DTRSV
- LAPACK: DGEQR (QR), DGETRF (LU), and DPOTRF (Cholesky)
- DORMQR and DORGQR (for multiplying and generating Q)
- Utility routines for packing and unpacking matrices to and from the new batched data layout.
- Improved performance for:
- BLAS level 1 routines: ?IAMAX, ?NRM2, ?ASUM, and ?DOT
- BLAS level 2 routines: ?HBMV, ?SBMV, ?TBMV, ?SYR, and ?SYR2
- BLAS level 3 routines: ?TRSM and [SD]GEMM
- LAPACK routines: ?POTRF and ?GETRF (for small problems)
- General small problems
- Vector performance improvements in libamath:
- Neon functions: atan, atanf, erf, erff, exp2, exp2f, exp10, and exp10f
- SVE functions: atan, erff, cos, cosf, pow, sin, sincos, and sincosf
- Arm Performance Libraries now supports all real-to-real transform functions defined in the FFTW3 interface. Previously, the planner functions for these types of transforms returned NULL, indicating that they were unavailable.
Resolved issues:
- 21.0.0
- If you attempt to install the library using the `--install-to <installation-location>` option, the installer might generate a warning of the form: 'Installing...find: '<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links': No such file or directory'. This warning is erroneous and does not impact the installation or function of the library.
- The prototypes for the following LAPACKE functions were previously missing:
- lapacke_?geqpf
- lapacke_?geqpf_work
- lapacke_?ggsvd
- lapacke_?ggsvd_work
- lapacke_?ggsvp
- lapacke_?ggsvp_work
- If you attempt to install the library using the `--install-to <installation-location>` option, the installer might generate a warning of the form: 'Installing...find: '<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links': No such file or directory'. This warning is erroneous and does not impact the installation or function of the library.
Open technical issues:
- 21.0.0
- There are no open technical issues at the time of this release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 21.0.0
×The order of Release Notes is:
- GCC 7.5
- GCC 8.2
- GCC 9.3
- GCC 10.2
Arm Performance Libraries 21.0.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any click through or signed written agreement covering this
document with Arm, then the click through or signed written agreement prevails
over and supersedes the conflicting provisions of these terms. This document may
be translated into other languages for convenience, and you agree that if there
is any conflict between the English version of this document and any
translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.0.0 package provides
GCC 7.5-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.0.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.0.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests its PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot
guarantee the quality this document when used with any other PDF reader.
A suitable file reader can be downloaded from Adobe at http://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in this release.
- Arm Performance Libraries now supports all real-to-real transform functions
defined in the FFTW3 interface. Previously, the planner functions for these
types of transforms returned NULL, indicating that they were unavailable.
- Added support for ?GEMMT BLAS extension routines for all types, performing
matrix-matrix multiplication and updating the lower or upper triangular part
of C only.
- Added a new suite of routines that are optimized for large batches of small
linear algebra problems. Interfaces for the following real and double
precision problems are provided:
* BLAS: DDOT, DGER, DGEMM, DGEMV, DSCAL, DTRMM, DTRSM, and DTRSV
* LAPACK: DGEQR (QR), DGETRF (LU), and DPOTRF (Cholesky)
* DORMQR and DORGQR (for multiplying and generating Q)
* Utility routines for packing and unpacking matrices to and from the new
batched data layout.
An example and full documentation are provided.
- Improved performance for:
* BLAS level 1 routines: ?IAMAX, ?NRM2, ?ASUM, and ?DOT
* BLAS level 2 routines: ?HBMV, ?SBMV, ?TBMV, ?SYR, and ?SYR2
* BLAS level 3 routines: ?TRSM and [SD]GEMM
* LAPACK routines: ?POTRF and ?GETRF (for small problems)
* General small problems
- Vector performance improvements in libamath:
* Neon functions: atan, atanf, erf, erff, exp2, exp2f, exp10, and exp10f
* SVE functions: atan, erff, cos, cosf, pow, sin, sincos, and sincosf
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in this release.
- If you attempt to install the library using the
`--install-to <installation-location>` option, the installer might generate a
warning of the form: 'Installing...find:
'<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links':
No such file or directory'. This warning is erroneous and does not impact the
installation or function of the library.
- The prototypes for the following LAPACKE functions were previously missing:
* lapacke_?geqpf
* lapacke_?geqpf_work
* lapacke_?ggsvd
* lapacke_?ggsvd_work
* lapacke_?ggsvp
* lapacke_?ggsvp_work
The prototypes are now available in armpl.h.
Known limitations
-----------------
There are no open technical issues at the time of this release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.0.0_gcc-7.5.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.0.0_gcc-7.5,
and <install_location>/armpl_21.0.0_gcc-7.5,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.0.0_gcc-7.5
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.0.0_gcc-7.5/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_21.0.0_gcc-7.5/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.0.0_gcc-7.5
3. Build the examples:
make
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.0.0_gcc-7.5/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7
- AArch64 Ubuntu 18.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-historyArm Performance Libraries 21.0.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any click through or signed written agreement covering this
document with Arm, then the click through or signed written agreement prevails
over and supersedes the conflicting provisions of these terms. This document may
be translated into other languages for convenience, and you agree that if there
is any conflict between the English version of this document and any
translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.0.0 package provides
GCC 8.2-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.0.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.0.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests its PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot
guarantee the quality this document when used with any other PDF reader.
A suitable file reader can be downloaded from Adobe at http://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in this release.
- Arm Performance Libraries now supports all real-to-real transform functions
defined in the FFTW3 interface. Previously, the planner functions for these
types of transforms returned NULL, indicating that they were unavailable.
- Added support for ?GEMMT BLAS extension routines for all types, performing
matrix-matrix multiplication and updating the lower or upper triangular part
of C only.
- Added a new suite of routines that are optimized for large batches of small
linear algebra problems. Interfaces for the following real and double
precision problems are provided:
* BLAS: DDOT, DGER, DGEMM, DGEMV, DSCAL, DTRMM, DTRSM, and DTRSV
* LAPACK: DGEQR (QR), DGETRF (LU), and DPOTRF (Cholesky)
* DORMQR and DORGQR (for multiplying and generating Q)
* Utility routines for packing and unpacking matrices to and from the new
batched data layout.
An example and full documentation are provided.
- Improved performance for:
* BLAS level 1 routines: ?IAMAX, ?NRM2, ?ASUM, and ?DOT
* BLAS level 2 routines: ?HBMV, ?SBMV, ?TBMV, ?SYR, and ?SYR2
* BLAS level 3 routines: ?TRSM and [SD]GEMM
* LAPACK routines: ?POTRF and ?GETRF (for small problems)
* General small problems
- Vector performance improvements in libamath:
* Neon functions: atan, atanf, erf, erff, exp2, exp2f, exp10, and exp10f
* SVE functions: atan, erff, cos, cosf, pow, sin, sincos, and sincosf
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in this release.
- If you attempt to install the library using the
`--install-to <installation-location>` option, the installer might generate a
warning of the form: 'Installing...find:
'<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links':
No such file or directory'. This warning is erroneous and does not impact the
installation or function of the library.
- The prototypes for the following LAPACKE functions were previously missing:
* lapacke_?geqpf
* lapacke_?geqpf_work
* lapacke_?ggsvd
* lapacke_?ggsvd_work
* lapacke_?ggsvp
* lapacke_?ggsvp_work
The prototypes are now available in armpl.h.
Known limitations
-----------------
There are no open technical issues at the time of this release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.0.0_gcc-8.2.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.0.0_gcc-8.2,
and <install_location>/armpl_21.0.0_gcc-8.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.0.0_gcc-8.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.0.0_gcc-8.2/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_21.0.0_gcc-8.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.0.0_gcc-8.2
3. Build the examples:
make
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.0.0_gcc-8.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Arm Performance Libraries 21.0.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any click through or signed written agreement covering this
document with Arm, then the click through or signed written agreement prevails
over and supersedes the conflicting provisions of these terms. This document may
be translated into other languages for convenience, and you agree that if there
is any conflict between the English version of this document and any
translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.0.0 package provides
GCC 9.3-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.0.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.0.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests its PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot
guarantee the quality this document when used with any other PDF reader.
A suitable file reader can be downloaded from Adobe at http://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in this release.
- Arm Performance Libraries now supports all real-to-real transform functions
defined in the FFTW3 interface. Previously, the planner functions for these
types of transforms returned NULL, indicating that they were unavailable.
- Added support for ?GEMMT BLAS extension routines for all types, performing
matrix-matrix multiplication and updating the lower or upper triangular part
of C only.
- Added a new suite of routines that are optimized for large batches of small
linear algebra problems. Interfaces for the following real and double
precision problems are provided:
* BLAS: DDOT, DGER, DGEMM, DGEMV, DSCAL, DTRMM, DTRSM, and DTRSV
* LAPACK: DGEQR (QR), DGETRF (LU), and DPOTRF (Cholesky)
* DORMQR and DORGQR (for multiplying and generating Q)
* Utility routines for packing and unpacking matrices to and from the new
batched data layout.
An example and full documentation are provided.
- Improved performance for:
* BLAS level 1 routines: ?IAMAX, ?NRM2, ?ASUM, and ?DOT
* BLAS level 2 routines: ?HBMV, ?SBMV, ?TBMV, ?SYR, and ?SYR2
* BLAS level 3 routines: ?TRSM and [SD]GEMM
* LAPACK routines: ?POTRF and ?GETRF (for small problems)
* General small problems
- Vector performance improvements in libamath:
* Neon functions: atan, atanf, erf, erff, exp2, exp2f, exp10, and exp10f
* SVE functions: atan, erff, cos, cosf, pow, sin, sincos, and sincosf
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in this release.
- If you attempt to install the library using the
`--install-to <installation-location>` option, the installer might generate a
warning of the form: 'Installing...find:
'<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links':
No such file or directory'. This warning is erroneous and does not impact the
installation or function of the library.
- The prototypes for the following LAPACKE functions were previously missing:
* lapacke_?geqpf
* lapacke_?geqpf_work
* lapacke_?ggsvd
* lapacke_?ggsvd_work
* lapacke_?ggsvp
* lapacke_?ggsvp_work
The prototypes are now available in armpl.h.
Known limitations
-----------------
There are no open technical issues at the time of this release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.0.0_gcc-9.3.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.0.0_gcc-9.3,
and <install_location>/armpl_21.0.0_gcc-9.3,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.0.0_gcc-9.3
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.0.0_gcc-9.3/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_21.0.0_gcc-9.3/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.0.0_gcc-9.3
3. Build the examples:
make
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.0.0_gcc-9.3/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
Arm Performance Libraries 21.0.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any click through or signed written agreement covering this
document with Arm, then the click through or signed written agreement prevails
over and supersedes the conflicting provisions of these terms. This document may
be translated into other languages for convenience, and you agree that if there
is any conflict between the English version of this document and any
translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2021, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
https://developer.arm.com
Progressive terminology commitment
----------------------------------
Arm values inclusive communities. Arm recognizes that we and our industry have
used terms that can be offensive. Arm strives to lead the industry and create
change.
We believe that this document contains no offensive terms. If you find offensive
terms in this document, please email terms@arm.com.
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 21.0.0 package provides
GCC 10.2-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 21.0.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 21.0.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests its PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot
guarantee the quality this document when used with any other PDF reader.
A suitable file reader can be downloaded from Adobe at http://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in this release.
- Arm Performance Libraries now supports all real-to-real transform functions
defined in the FFTW3 interface. Previously, the planner functions for these
types of transforms returned NULL, indicating that they were unavailable.
- Added support for ?GEMMT BLAS extension routines for all types, performing
matrix-matrix multiplication and updating the lower or upper triangular part
of C only.
- Added a new suite of routines that are optimized for large batches of small
linear algebra problems. Interfaces for the following real and double
precision problems are provided:
* BLAS: DDOT, DGER, DGEMM, DGEMV, DSCAL, DTRMM, DTRSM, and DTRSV
* LAPACK: DGEQR (QR), DGETRF (LU), and DPOTRF (Cholesky)
* DORMQR and DORGQR (for multiplying and generating Q)
* Utility routines for packing and unpacking matrices to and from the new
batched data layout.
An example and full documentation are provided.
- Improved performance for:
* BLAS level 1 routines: ?IAMAX, ?NRM2, ?ASUM, and ?DOT
* BLAS level 2 routines: ?HBMV, ?SBMV, ?TBMV, ?SYR, and ?SYR2
* BLAS level 3 routines: ?TRSM and [SD]GEMM
* LAPACK routines: ?POTRF and ?GETRF (for small problems)
* General small problems
- Vector performance improvements in libamath:
* Neon functions: atan, atanf, erf, erff, exp2, exp2f, exp10, and exp10f
* SVE functions: atan, erff, cos, cosf, pow, sin, sincos, and sincosf
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in this release.
- If you attempt to install the library using the
`--install-to <installation-location>` option, the installer might generate a
warning of the form: 'Installing...find:
'<installation-location>/arm-*-compiler-<version>*/lib/clang/*/armpl_links':
No such file or directory'. This warning is erroneous and does not impact the
installation or function of the library.
- The prototypes for the following LAPACKE functions were previously missing:
* lapacke_?geqpf
* lapacke_?geqpf_work
* lapacke_?ggsvd
* lapacke_?ggsvd_work
* lapacke_?ggsvp
* lapacke_?ggsvp_work
The prototypes are now available in armpl.h.
Known limitations
-----------------
There are no open technical issues at the time of this release.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SLES and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_21.0.0_gcc-10.2.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_21.0.0_gcc-10.2,
and <install_location>/armpl_21.0.0_gcc-10.2,
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's High Performance Computing (HPC) GPG key. The
public key can be downloaded from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/21.0.0_gcc-10.2
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_21.0.0_gcc-10.2/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_21.0.0_gcc-10.2/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/21.0.0_gcc-10.2
3. Build the examples:
make
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_21.0.0_gcc-10.2/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GCC component, GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a post that describes your issue on the Arm Community HPC forum:
https://community.arm.com/developer/tools-software/hpc/f/hpc-user-group
Arm will respond as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
OS
--
These libraries are supported on the following Linux platforms:
- AArch64 RHEL 7 and 8
- AArch64 SLES 15
- AArch64 Ubuntu 18.04 and 20.04
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
- EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 20.3.0 September 09, 2020
What's new in 20.3.0
Arm Performance Libraries 20.3 covers the following releases:
- Arm Performance Libraries 20.3.0 - Released 9th September, 2020
Release summary
Arm Performance Libraries 20.3 is available for the following versions of GCC:
- GCC 7.1
- GCC 8.2
- GCC 9.3
Arm Performance Libraries
Additions and changes:
- 20.3.0
- As well as in the Arm Compiler for Linux package, the Arm Performance Libraries Reference Guide is now available in HTML format on the Arm Developer website:
https://developer.arm.com/documentation/101004/latest/
- Added new BLAS level 2 extension routines, ?GERB. Use the new routines to perform a generalized outer-product with an additional scaling parameter.
For more information, see the online documentation:
https://developer.arm.com/documentation/101004/2030/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2
In this release, there is also improved performance for:
- BLAS level 1 routines: ?NRM2 and ?ASUM
- BLAS level 2 routines: ?GER, ?SYR, ?HER, ?SYR2, ?HER2, and ?GBMV
- LAPACK routine: DGEEV (for small eigenvalue problems)
- Improved single precision FFT performance.
- Improved libamath performance for:
- atan and atanf, in both scalar and Neon vector forms
- SVE erf
- As well as in the Arm Compiler for Linux package, the Arm Performance Libraries Reference Guide is now available in HTML format on the Arm Developer website:
Resolved issues:
- 20.3.0
- Fixed a performance degradation in ?SYMV routines that was introduced in 20.2.0.
Open technical issues:
- 20.3.0
- If you attempt to install the library using the `--install-to <installation-location>` option, the installer might generate a warning of the form: 'Installing...find: '<installation-location>/arm-*-compiler-20.3*/lib/clang/*/ armpl_links': No such file or directory'. This warning is erroneous and does not impact the installation or function of the library.
- The uninstall.sh script does not correctly uninstall a library that has been installed to a custom location. Instead, you will need to manually remove it from your filesystem. This limitation applies to non-root installations on rpm-based systems, and any relocated installations on Debian-based systems.
- If you attempt to install the library using the `--install-to <installation-location>` option, the installer might generate a warning of the form: 'Installing...find: '<installation-location>/arm-*-compiler-20.3*/lib/clang/*/ armpl_links': No such file or directory'. This warning is erroneous and does not impact the installation or function of the library.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 20.3.0
×Each Arm Performance Libraries package contains Release Notes that refer to the version of GCC supported in that package. To save repetition, one version of the Release Notes is stated below with GCC versions references generalized to {7.1|8.2|9.3}.
To check which version of GCC your package supports, see the RELEASE_NOTES.txt file in <install-directory>/share.
Arm Performance Libraries 20.3.0 Release Note
=============================================
Non-Confidential
Copyright © 2015-2020, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any click through or signed written agreement covering this
document with Arm, then the click through or signed written agreement prevails
over and supersedes the conflicting provisions of these terms. This document may
be translated into other languages for convenience, and you agree that if there
is any conflict between the English version of this document and any
translation, the terms of the English version of the Agreement shall prevail.
The Arm corporate logo and words marked with ® or ™ are registered trademarks or
trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All
rights reserved. Other brands and names mentioned in this document may be the
trademarks of their respective owners. Please follow Arm’s trademark usage
guidelines at http://www.arm.com/company/policies/trademarks.
Copyright © 2015-2020, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
www.arm.com
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms that are used in Arm documentation, together
with definitions for those terms. The Arm Glossary does not contain terms that
are industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 20.3.0 package provides
GCC {7.1|8.2|9.3}-compatible libraries that:
- Run on all Armv8-A AArch64 64-bit-based implementations.
- Are optimized for Arm® Neoverse™ N1-based implementations.
Release Status
--------------
This is the 20.3.0 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections describe:
- The product parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations that exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 20.3.0
- Release Notes (this document)
- Documentation (product documentation is available on the Arm Developer
website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries)
Documentation may change between product releases. For the latest
documentation bundle, check the delivery platform.
Arm tests its PDFs only in Adobe Acrobat and Acrobat Reader. Arm cannot
guarantee the quality this document when used with any other PDF reader.
A suitable file reader can be downloaded from Adobe at http://www.adobe.com
Differences from previous release
---------------------------------
The following subsections describe differences from the previous release of
Arm Performance Libraries.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Describes new features or components added, or any technical changes to
features or components, in this release.
- As well as in the Arm Compiler for Linux package, the Arm Performance
Libraries Reference Guide is now available in HTML format on the Arm
Developer website: https://developer.arm.com/documentation/101004/latest/.
- Added new BLAS level 2 extension routines, ?GERB. Use the new routines to
perform a generalized outer-product with an additional scaling parameter.
For more information, see the online documentation:
https://developer.arm.com/documentation/101004/2030/BLAS-Basic-Linear-Algebra-Subprograms/BLAS-level-2.
In this release, there is also improved performance for:
* BLAS level 1 routines: ?NRM2 and ?ASUM
* BLAS level 2 routines: ?GER, ?SYR, ?HER, ?SYR2, ?HER2, and ?GBMV
* LAPACK routine: DGEEV (for small eigenvalue problems)
- Improved single precision FFT performance.
- Improved libamath performance for:
* atan and atanf, in both scalar and Neon vector forms
* SVE erf
Resolved issues:
~~~~~~~~~~~~~~~~
Describes any technical issues resolved in this release.
- Fixed a performance degradation in ?SYMV routines that was introduced in
20.2.0.
Known limitations
-----------------
The following subsection describes any issues known at the time of this release.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
Describes any technical issues that are open at the time of this release.
- If you attempt to install the library using the
`--install-to <installation-location>` option, the installer might generate a
warning of the form: 'Installing...find:
'<installation-location>/arm-*-compiler-20.3*/lib/clang/*/ armpl_links': No
such file or directory'. This warning is erroneous and does not impact the
installation or function of the library.
- The uninstall.sh script does not correctly uninstall a library that has been
installed to a custom location. Instead, you will need to manually remove it
from your filesystem. This limitation applies to non-root installations on
rpm-based systems, and any relocated installations on Debian-based systems.
Get started
===========
This section describes information to help you get started with accessing,
setting up, and using Arm Performance Libraries.
For more information, see the Get Started information on the Arm Developer
website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SUSE and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf arm-performance-libraries_20.3_gcc-{7.1|8.2|9.3}.tar
Directory structure:
--------------------
Shows the principal directory structure of this release created after unpacking
the bundle:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
The packages are unpacked to
<install_location>/arm-performance-libraries_20.3_gcc-{7.1|8.2|9.3},
and <install_location>/armpl_20.3_gcc-{7.1|8.2|9.3},
with environment modulefiles available under <install_location>/modulefiles. The
default installation location is /opt/arm/. Local installs have the same
directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's HPC GPG key. The public key can be downloaded
from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/20.3.0_gcc-{7.1|8.2|9.3}
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_20.3_gcc-{7.1|8.2|9.3}/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_20.3_gcc-{7.1|8.2|9.3}/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/20.3.0_gcc-{7.1|8.2|9.3}
3. Build the examples:
make
Uninstall
---------
For convenience, this package includes an "uninstall.sh" script at:
<install_location>/arm-performance-libraries_20.3_gcc-{7.1|8.2|9.3}/uninstall.sh
This script attempts to uninstall all the components supplied as part of
Arm Performance Libraries. However, if other packages outside of this product
depend on the GNU GCC component, GNU GCC will not be uninstalled.
If you require support when uninstalling any version of Arm Performance
Libraries, contact support-hpc-sw@arm.com.
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
create a ticket on https://support.developer.arm.com. Arm will respond
as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
Note: Support for this release of the product is only provided by Arm to
partners who have a current support and maintenance contract for the product.
OS
--
This suite is supported on the following Linux platforms:
- AArch64 Redhat 7 and 8
- AArch64 SUSE 12 and 15
- AArch64 Ubuntu 16.04+
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history
- EULA
- Documentation
-
Download Free Arm Performance Libraries (Free ArmPL): 20.2 - latest update 20.2.1 August 07, 2020
What's new in 20.2 - latest update 20.2.1
Arm Performance Libraries 20.2 covers the following releases:
- Arm Performance Libraries 20.2.1 - Released 7th August, 2020
- Arm Performance Libraries 20.2 - Released 26th June, 2020
Release summary
Arm Performance Libraries 20.2 and 20.2.1 are available for the following versions of GCC:
- GCC 7.1
- GCC 8.2
- GCC 9.3
Arm Performance Libraries
Additions and changes:
- 20.2.1
- The 20.2.1 release is compatible with all Armv8.0-A cores and later.
- The 20.2.1 release is compatible with all Armv8.0-A cores and later.
- 20.2
- Improved BLAS level 2 performance for symmetric matrices.
- Implemented improvements to FFT performance, including faster planning.
- Implemented improvements to the SVE versions of libamath functions, namely
exp, expf, log, logf, sin, sinf, cos, and cosf.
- Improved BLAS level 2 performance for symmetric matrices.
Resolved issues:
- 20.2.1
- There are no resolved issues to report in the 20.2.1 release.
- There are no resolved issues to report in the 20.2.1 release.
- 20.2
- Fixed a bug in the LAPACK *POTRF routines that would cause a crash when
using multiple threads, and when operating on large matrices.
- Fixed a bug in the LAPACK *POTRF routines that would cause a crash when
Open technical issues:
There are no issues known at the time of this release.
-
Release Note for Download Free Arm Performance Libraries (Free ArmPL) 20.2 - latest update 20.2.1
×Each Arm Performance Libraries package contains Release Notes that refer to the version of GCC supported in that package. To save repetition, one version of the Release Notes is stated below with GCC versions references generalized to {7.1|8.2|9.3}.
To check which version of GCC your package supports, see the RELEASE_NOTES.txt file in <install-directory>/share.
Arm Performance Libraries 20.2.1 Release Note
=============================================
Non-Confidential
Copyright © 2015-2020, Arm Limited (or its affiliates). All rights reserved.
Non-Confidential Proprietary Notice
===================================
This document is protected by copyright and other related rights and the
practice or implementation of the information contained in this document may be
protected by one or more patents or pending patent applications. No part of this
document may be reproduced in any form by any means without the express prior
written permission of Arm. No license, express or implied, by estoppel or
otherwise to any intellectual property rights is granted by this document
unless specifically stated.
Your access to the information in this document is conditional upon your
acceptance that you will not use or permit others to use the information for
the purposes of determining whether implementations infringe any third party
patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT
OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the
avoidance of doubt, Arm makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of,
third party patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY
DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS
OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF
ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for
ensuring that any use, duplication or disclosure of this document complies fully
with any relevant export laws and regulations to assure that this document or
any portion thereof is not exported, directly or indirectly, in violation of
such export laws. Use of the word “partner” in reference to Arm’s customers is
not intended to create or refer to any partnership relationship with any other
company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the
provisions of any signed written agreement covering this document with Arm, then
the signed written agreement prevails over and supersedes the conflicting
provisions of these terms. This document may be translated into other languages
for convenience, and you agree that if there is any conflict between the English
version of this document and any translation, the terms of the English version
of the Agreement shall prevail.
Words and logos marked with ® or ™ are registered trademarks or trademarks of
Arm Limited or its affiliates in the EU and/or elsewhere. All rights reserved.
Other brands and names mentioned in this document may be the trademarks of their
respective owners. Please follow Arm’s trademark usage guidelines at
http://www.arm.com/about/trademark-usage-guidelines.php
Copyright © 2015-2020, Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
LES-PRE-20349
Confidentiality Status
----------------------
This document is Non-Confidential. The right to use, copy and disclose this
document may be subject to license restrictions in accordance with the terms
of the agreement entered into by Arm and the party that Arm delivered this
document to.
Unrestricted Access is an Arm internal classification.
Product Status
--------------
The information in this document is Final, that is for a developed product.
Web Address
-----------
http://www.arm.com
Contents
========
- Conventions
- Release overview
- Release contents
- Get started
- Support
- Release History
Conventions
===========
The following subsections describe conventions used in Arm documents.
Glossary
--------
The Arm Glossary is a list of terms used in Arm documentation, together with
definitions for those terms. The Arm Glossary does not contain terms that are
industry standard unless the Arm meaning differs from the generally accepted
meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary.
Release overview
================
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
Product description
-------------------
The Arm Performance Libraries 20.2.1 package provides optimized
libraries for Arm® Neoverse™ N1-based Armv8 AArch64 implementations that are
compatible with GCC {7.1|8.2|9.3}.
Release Status
--------------
This is the 20.2.1 release of Arm Performance Libraries.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the "Agreement"). All planned verification and
validation is complete.
The release is suitable for volume production under the terms of the Agreement.
Release contents
================
The following sub-sections detail:
- The component parts that are delivered as part of this release.
- Any changes since the previous release.
- Any known issues and limitations exist at the time of this release.
Deliverables
------------
- Arm Performance Libraries 20.2.1
- Release Notes (this document)
Differences from previous release
---------------------------------
Differences from the previous release of Arm Performance Libraries are detailed
in the following sub-sections.
Additions and changes:
~~~~~~~~~~~~~~~~~~~~~~
Details any new features or components added, or any technical changes to
features or components, in the 20.2.1 release.
- The 20.2.1 release is compatible with all Armv8.0-A cores and later.
The following features or components were added, or technical changes to
features or components were changed, in the 20.2.0 release:
- Improved BLAS level 2 performance for symmetric matrices.
- Implemented improvements to FFT performance, including faster planning.
- Implemented improvements to the SVE versions of libamath functions, namely
exp, expf, log, logf, sin, sinf, cos, and cosf.
Resolved issues:
~~~~~~~~~~~~~~~~
There are no resolved issues to report in the 20.2.1 release.
The following technical issues were resolved in the 20.2.0 release:
- Fixed a bug in the LAPACK *POTRF routines that would cause a crash when
using multiple threads, and when operating on large matrices.
Known limitations
-----------------
Any issues known at the time of this release are detailed in the following
sub-section.
Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~
There are no issues known at the time of this release.
Get started
===========
For information on how to get started with accessing, setting up, and using Arm
Performance Libraries, see the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Licensing information
---------------------
Use of the free of charge version of Arm Performance Libraries is subject to the
terms and conditions of the applicable End User License Agreement (“EULA”). A
copy of the EULA can be found in the 'license_terms' folder of your product
installation.
You do not require a license to use this Arm Performance Libraries package.
Prerequisites
-------------
If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Performance Libraries:
- Python (version 2.7 or later)
- C Libraries:
- SUSE and RHEL: glibc-devel
- Ubuntu: libc6-dev
Download the product
--------------------
Arm delivers the files through the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Unpack the product
------------------
The following steps describe how to unpack each constituent part delivered in
this bundle:
1. Relocate the bundle file. Move the .tar files to the directory you want to
install the product in.
2. Extract the tar file contents using a tar utility:
tar -xvf <package_name>.tar
Directory structure:
--------------------
The principal directory structure of this release created after unpacking the
bundle, is:
license_terms/
arm-performance-libraries_<version>_*.sh
RELEASE_NOTES.txt
Install the product
-------------------
To install Arm Performance Libraries, run the installation script as a
privileged user and pass any options to configure the installation:
./arm-performance-libraries_<version>_*.sh <option> <option>
Some common installation options are:
- For a headless installation and to automatically accept the EULA, use
the '--accept' option.
- To perform a local install, use the '--install-to <dir>' option.
For a full list of supported installation options, see:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The installer displays the EULA and prompts you to agree to the terms. Type
'yes' at the prompt to continue.
All the packages are unpacked to <install_location>/<package_name> with
environment modulefiles available under <install_location>/modulefiles.
The default installation location is /opt/arm/. Local installs have the
same directory structure starting from your chosen installation root.
RPMs
----
The installed packages are shipped as RPMs for RPM based Linux distributions.
These RPMs are signed by Arm's HPC GPG key. The public key can be downloaded
from:
https://developer.arm.com/-/media/files/keys/GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
This key can be imported by running:
rpm --import GPG-PUB-KEY-ARM-HPC-SW-TOOLS.PUB
More information about Environment Modules can be found at:
http://modules.sourceforge.net
Run the product
---------------
1. Load the environment module.
module load <install_location>/modulefiles/armpl/20.2.1_gcc-{7.1|8.2|9.3}
2. To generate an executable binary with GCC, compile your program with Arm
Performance Libraries. Use:
gcc -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lgfortran -lm [options] -o <binary> <input>
or
gfortran -I<install_dir>/include -L<install_dir>/lib <-larmpl> -lm [options] -o <binary> <input>
where:
- <-larmpl> is one of: -larmpl, -larmpl_lp64, -larmpl_ilp64, -larmpl_lp64_mp,
or -larmpl_ilp64_mp.
- [options] denotes any other GCC compiler options
- <input> is the source file (or files)
- <binary> is the application executable to build
3. Run the generated binary <binary>:
./<binary>
Examples
--------
Example code can be found at:
<install_location>/armpl_20.2.1_gcc-{7.1|8.2|9.3}/examples
You need to copy this code to a writeable directory and load Arm Performance
Libraries environment module for the examples to build.
For example:
1. Copy the examples somewhere writeable:
cp -r <install_location>/armpl_20.2.1_gcc-{7.1|8.2|9.3}/examples ./
cd examples
2. Load the correct environment modules:
module load <install_location>/modulefiles/armpl/20.2.1_gcc-{7.1|8.2|9.3}
3. Build the examples:
make
Uninstall
---------
To uninstall Arm Performance Libraries, use your system package management tool
(for example, rpm or yum).
Support
=======
Documentation for using this Arm Performance Libraries package is available on
the Arm Developer website at:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Reference documentation for the supported routines in Arm Performance Libraries
is available at:
https://developer.arm.com/docs/101004/latest
If you have any issues with the installation, content or use of this release,
please create a ticket on https://support.developer.arm.com. Arm will respond
as soon as possible.
These deliverables are being released under the terms of the agreement between
Arm and each licensee (the “Agreement”). All planned verification and
validation is complete. The release is suitable for volume production under
the terms of the Agreement.
Note: Support for this release of the product is only provided by Arm to
partners who have a current support and maintenance contract for the product.
OS
--
This suite is supported on the following Linux platforms:
- AArch64 Redhat 7 and 8
- AArch64 SUSE 12 and 15
- AArch64 Ubuntu 16.04+
Full information about the platforms supported by Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
Release history
===============
A full release history (with release notes) for Arm Performance Libraries is
available on the Arm Developer website:
https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries/release-history - EULA
- Documentation