Release History

This page lists the Arm Allinea Studio release history.

To download and install the latest version of Arm Allinea Studio, see our downloads page and follow the installation steps given on the download page.

Details on Release versions and links to the Release Notes and Documentation of Arm C/C++ Compiler, Arm Fortran Compiler, and Arm Performance Libraries are provided below.

Arm Allinea Studio also includes Arm Forge (Release History) and Arm Performance Reports (Release History). 

For more compatibility information, see our supported platforms topic.

Arm Allinea Studio

Version 20.0 - latest update 20.0.3

Released: April 23, 2020

What's new in 20.0 - latest update 20.0.3

Arm Allinea Studio 20.0.3 includes:

  • Arm Compiler for Linux 20.1 - Released 23rd April 2020
  • Arm Forge 20.0 (latest 20.0.3) - Released 1st April 2020

Arm Compiler for Linux 20.1

Additions and changes:

  • Arm Compiler for Linux suite 20.1:

    • The Fujitsu A64FX processor is added as a new microarchitecture target with specific optimizations. To optimize your code for an A64FX target, compile with the '-mcpu=a64fx' option (or '-mcpu=native' if you are running on an A64FX machine). Optionally, also add the '-armpl' option to use the A64FX-tuned version of Arm Performance Libraries. Note that this is an SVE implementation, meaning that this version will therefore not run natively on other current microarchitectures.

  • Arm C/C++/Fortran Compiler 20.1:

    • The implementation of the -fsimdmath and -armpl options no longer imply -fopenmp, by default.

    • Arm Compiler for Linux 20.1 now warns against using the deprecated SVE/SVE2 ACLE features. Support for these features will be removed in the next major release. For clarity, the SVE/SVE2 ACLE specification has deprecated two features: use of the svcdot function with unsigned arguments, and accessing individual elements of ACLE vector structs using the '.' operator. As an example of the second feature, code such as ((svint8x2_t) foo).v1 is now deprecated, and you should use svget2((svint8x2_t) foo, 0) instead.

    • Arm Fortran Compiler now supports the Fortran 2008 BLOCK construct.

    • Performance improvements for some Fortran workloads.

  • Arm Performance Libraries 20.1.0:

    • FFT implementations are now constructed at planning time, incurring a small additional overhead for each different length of FFT on its first creation. Subsequent plans of the same length are unaffected. Execution performance remains similar to previous releases. This enhancement considerably reduces the size of the library.

    • Implemented improvements to ?GEMM performance, especially for small cases.

    • Added support for LAPACK version 3.9.0. In addition, the CBLAS and LAPACKE interfaces have been updated to use the correct types for complex variables. All documentation has been updated to include these changes.

    • In libamath there are newly-optimized versions of erf and erfc, both for scalar and vector uses, and for single and double precision.

Resolved issues:

  • Arm C/C++/Fortran Compiler 20.1:

    • Arm Compiler for Linux does not support "omp declare simd" pragmas on C++ class member functions (declarations or definitions), and will ignore them in your code.

    • Fixed an issue with the dynamic scheduling of OpenMP do loops in Arm Fortran Compiler. Incorrect step sizes were being passed to the OpenMP runtime function.

    • Fixed an issue where Fortran VLAs had incomplete debug information. Debug handling code that captures upper and lower bounds of Fortran arrays has been improved.

    • Fixed an issue in Arm Fortran Compiler that prevented the 'Meso-NH' weather code from compiling successfully.

    • Fixed an issue in Arm Fortran Compiler that prevented code containing one or more "arithmetic if" statements compiling with the -i8 compiler option.

    • Fixed an interaction issue between fixed length arrays and SVE ACLE builtins.

    • Fixed an issue where the compiler could fail to obtain a license when multiple possible licenses were available, and where one license had no remaining seats.

    • Fixed an issue in arm-opt-report, where reports would incorrectly describe when loops were inlined and then unrolled.

    • To highlight the vectorization factor when scalable vectors are used, a new annotation option, VS<F,I>, has been added to arm-opt-report: VS<F,I>: A loop has been vectorized using scalable vectors. Each vector iteration performed has the equivalent of N*F*I scalar iterations, where N is the number of vector granules, which can vary according to the machine the program is run on. For example, LLVM assumes a granule size of 128 bits when targeting SVE. F (Vectorization Factor) and I (Interleave count) are as described for V<F,I>.

  • Arm Performance Libraries 20.1.0:

    • Fixed an issue where log10f (single precision, base-10 logarithm function) reported inaccuracies when used in a vectorizable loop.

Open technical issues:

  • Arm C/C++/Fortran Compiler 20.1:

    • Copying module files to a different directory after installation, or using a symlink to the module files, might result in an error using 'module load'. If this issue affects you, to get the correct advice for your system configuration, please contact Arm support. Module configuration flexibility will be improved in a later release of Arm Compiler for Linux.

Arm Forge 20.0 (latest 20.0.3)

Arm DDT new features and enhancements:

  • 20.0
    • CUDA GDB is now shipped on AArch64.
    • Added Assembly debugging mode.
    • Added GDB 8.2 as an optional debugger.
    • Updated the MPICH3 auto-detection heuristics.
    • Fixed an issue where the program was unresponsive when debugging or profiling applications that expect user input from a pseudo terminal.
    • Added support for Ubuntu 18.04 on AArch64.
    • Added support for Ubuntu 18.04 on x86_64.
    • Upgraded CUDA GDB 10.1 to update 2.
    • Added support for Arm Compiler for Linux 19.3.
    • Added support for Arm Compiler for Linux 20.0.
    • Added support for Intel 19.x Compiler and MPI.
    • Updated the Support email address from allinea-support@arm.com to support-hpc-sw@arm.com.
    • Because of issues with the Data Address Watchpoint Register (DAWR) on POWER9, hardware watchpoints are not available from Linux kernel version 4.17. In this case, DDT falls back to software watchpoints which are significantly slower than using hardware watchpoints. More information can be found at https://github.com/torvalds/linux/blob/master/Documentation/powerpc/dawr-power9.rst.

  • 20.0.1
    • Fixed an issue with two dimensional array slicing when using the Intel and GNU Fortran compilers.

  • 20.0.2
    • None in this release.

  • 20.0.3
    • None in this release.

Arm DDT bug fixes

  • 20.0
    • [FOR-8193] Improved the security of the X11 display server used in Offline Mode.
    • [FOR-8194] Fixed a security issue with Reverse Connect which affected the authentication between Remote Daemons.
    • [FOR-7972] Fixed preloading of the memory debugging library on Cray with Slurm.
    • [FOR-3369] Fixed editor lookups involving user supplied file paths when double-clicking a breakpoint item in the Breakpoint view.
    • [FOR-5400] Fixed a crash in the Attach dialog.
    • [FOR-6148] Fixed an issue with displaying std::map iterators in the variables view.
    • [FOR-8522] Fixed a segmentation fault when printing C++ static constexpr class members.
    • [FOR-8280] Fixed an issue resulting in extra items displaying in the Memory Usage dialog chart legend.

  • 20.0.1
    • [FOR-4263] Addressed an inconsistency between Process selection and Parallel Stack View frame selection.
    • [FOR-8283] Fixed various PSV related bugs which occurred in Assembly Mode.
    • [FOR-8562] Updated the icon for assembly debugging mode.

  • 20.0.2
    • [FOR-8903] Fixed a bug with startup using srun on Arm machines.
    • [FOR-7460] Fixed an issue which caused the DDT offline logs to be incomplete.
    • [FOR-8974] Fixed a bug where selecting memory allocations from the chart in the "Current Memory Usage" window was showing data for the wrong process.
    • [FOR-9006] Fixed an issue where information from some processes was sometimes missing from offline mode log files.
    • [FOR-8769] Now able to set Memory Debugging settings on a subset of processes when launching in Express Launch mode.
    • [FOR-8961] Improved error reporting when there is a failure on startup.
    • [FOR-8858] Fixed an issue with MAC installer window not displaying at the correct size.

  • 20.0.3
    • [FOR-9068] Fixed a race condition from within cuda-gdb which caused DDT to occasionally fail when launching a kernel.
    • [FOR-9374] The value of pointer items in the locals, current line, and evaluate views can now be modified.

Arm MAP new features and enhancements

  • 20.0
    • Added support for counting hardware events using Linux perf.
    • MAP and Performance Reports custom metric API extended to improve usability and support for passing configuration data to custom metric libraries.
    • Reduced MAP and Performance Reports memory usage when profiling large applications.
    • Updated the MPICH3 auto-detection heuristics.
    • Fixed an issue where the program was unresponsive when debugging or profiling applications that expect user input from a pseudo terminal.
    • Clarified metrics descriptions for branch misses and cache misses on AArch64 and Power architectures.
    • Added support for Ubuntu 18.04 on AArch64.
    • Added support for Ubuntu 18.04 on x86_64.
    • Added support for Arm Compiler for Linux 19.3.
    • Added support for Arm Compiler for Linux 20.0.
    • Added support for Intel 19.x Compiler and MPI.
    • Updated the Support email address from allinea-support@arm.com to support-hpc-sw@arm.com.

  • 20.0.1
    • None in this release.

  • 20.0.2
    • Added Perf Metrics support for A76 and N1 CPUs.
    • Added configurable perf metric support to the static sampler library.

  • 20.0.3
    • None in this release.

Arm MAP bug fixes

  • 20.0.
    • [FOR-8193] Improved the security of the X11 display server used in Offline Mode.
    • [FOR-8194] Fixed a security issue with Reverse Connect which affected the authentication between Remote Daemons.
    • [FOR-8337] Fixed an issue which caused MAP to fail to create a MAP file at the end of a profiling run.
    • [FOR-7508] Fixed an issue where MAP hangs on start-up when running on an Ubuntu 18.04, AArch64 system without libc debug symbols installed.
    • [FOR-8529] Fixed a bug where a crash during profiling prevented the Run button on MAP from working.
    • [FOR-8343] Fixed an issue where an error message displayed about "unavailable metrics" when metrics were unlicensed.

  • 20.0.1
    • [FOR-8540] Fixed an issue where local MAP files could not be opened on OSX Catalina.

  • 20.0.2
    • [FOR-8903] Fixed a bug with startup using srun on Arm machines.
    • [FOR-8961] Improved error reporting when there is a failure on startup.
    • [FOR-8858] Fixed an issue with MAC installer window not displaying at the correct size.

  • 20.0.3
    • None in this release.

Arm Performance Reports new features and enhancements

  • 20.0.
    • Added support for counting hardware events using Linux perf.
    • Reduced MAP and Performance Reports memory usage when profiling large applications.
    • Fixed an issue where the program was unresponsive when debugging or profiling applications that expect user input from a pseudo terminal.
    • Added support for Ubuntu 18.04 on AArch64.
    • Added support for Ubuntu 18.04 on x86_64.
    • Added support for Arm Compiler for Linux 19.3.
    • Added support for Arm Compiler for Linux 20.0.
    • Added support for Intel 19.x Compiler and MPI.
    • Updated the Support email address from allinea-support@arm.com to support-hpc-sw@arm.com.

  • 20.0.1
    • None in this release.

  • 20.0.2
    • Added Perf Metrics support for A76 and N1 CPUs.
    • Added configurable perf metric support to the static sampler library.

  • 20.0.3
    • None in this release.

Arm Performance Reports bug fixes

  • 20.0.
    • [FOR-8337] Fixed an issue which caused MAP to fail to create a MAP file at the end of a profiling run.

  • 20.0.1
    • None in this release.

  • 20.0.2
    • [FOR-8903] Fixed a bug with startup using srun on Arm machines.
    • [FOR-8961] Improved error reporting when there is a failure on startup.
    • [FOR-8858] Fixed an issue with MAC installer window not displaying at the correct size.

  • 20.0.3
    • None in this release.

Arm Forge known issues

Please refer to the known issues page

Release Note for Release History 20.0 - latest update 20.0.3

The ordering of the Release Notes are:

1) Arm Compiler for Linux 20.1 Release Note
2) Arm Forge 20.0.3 Release Note
3) Arm Performance Reports 20.0.3 Release Note

 

Arm Compiler for Linux 20.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
================

Product description
-------------------

The Arm Compiler for Linux 20.1 suite provides a complete
compiling environment for natively developing and tuning your server and HPC
applications on Armv8-A based platforms. Arm Compiler for Linux 20.1
includes support for targets that implement the Scalable Vector Extension (SVE)
and Scalable Vector Extension version two (SVE2) for Armv8-A AArch64.

The suite contains the following packages:

- Arm C/C++/Fortran Compiler 20.1

  Arm Compiler is a Linux user-space C/C++ and Fortran compiler tailored for
  scientific computing, HPC, and enterprise workloads.

- Arm Performance Libraries 20.1.0

  Multiple Arm Performance Libraries packages are provided, each of which are
  optimized for individual Armv8 AArch64 implementations (Arm® Neoverse™ N1,
  Marvell ThunderX2, and Fujitsu A64FX (SVE-enabled)). Generic versions for
  Armv8.0-A and SVE are also provided. All packages are compatible with
  Arm C/C++/Fortran Compiler.

  The package also includes builds of the libraries which are compatible with
  GNU GCC 9.2.0.

- GNU GCC 9.2.0

  To provide the optimal experience on the latest Arm server and HPC systems
  when using the Arm Performance Libraries and GCC, a build of
  GNU's GCC 9.2.0 release is provided for convenience. It is also
  provided for OpenMP/libgfortran compatibility with Arm Performance Libraries.

  As a GNU tool suite, the GPL-licensed source code can be downloaded
  separately.

Release Status
--------------

This is the 20.1 release of the Arm Compiler for Linux
software.

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 C/C+/Fortran Compiler 20.1
- Arm Performance Libraries 20.1.0
- GNU GCC 9.2.0
- Release Notes (this document)
- Documentation (product documentation is available in
  <install_location>/<package_name>/share, on the Arm Developer website:

  https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/resources)

  Documentation may change between product releases. For the latest
  documentation bundle please check the delivery platform.

  Arm tests the PDF only in Adobe Acrobat and Acrobat Reader and cannot
  guarantee the quality of the represented 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
---------------------------------

Differences from the previous release of Arm Compiler for Linux 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 this release.

- Arm Compiler for Linux suite 20.1:

  - The Fujitsu A64FX processor is added as a new microarchitecture target with
    specific optimizations. To optimize your code for an A64FX target, compile
    with the '-mcpu=a64fx' option (or '-mcpu=native' if you are running on an
    A64FX machine). Optionally, also add the '-armpl' option to use the
    A64FX-tuned version of Arm Performance Libraries. Note that this is an SVE
    implementation, meaning that this version will therefore not run natively
    on other current microarchitectures.

- Arm C/C++/Fortran Compiler 20.1:

  - The implementation of the -fsimdmath and -armpl options no longer imply
    -fopenmp, by default.

  - Arm Compiler for Linux 20.1 now warns against using the deprecated SVE/SVE2
    ACLE features. Support for these features will be removed in the next major
    release. For clarity, the SVE/SVE2 ACLE specification has deprecated two
    features: use of the svcdot function with unsigned arguments, and accessing
    individual elements of ACLE vector structs using the '.' operator. As an
    example of the second feature, code such as ((svint8x2_t) foo).v1 is now
    deprecated, and you should use svget2((svint8x2_t) foo, 0) instead.

  - Arm Fortran Compiler now supports the Fortran 2008 BLOCK construct.

  - Performance improvements for some Fortran workloads.

- Arm Performance Libraries 20.1.0:

  - FFT implementations are now constructed at planning time, incurring a small
    additional overhead for each different length of FFT on its first creation.
    Subsequent plans of the same length are unaffected. Execution performance
    remains similar to previous releases. This enhancement considerably reduces
    the size of the library.

  - Implemented improvements to ?GEMM performance, especially for small cases.

  - Added support for LAPACK version 3.9.0. In addition, the CBLAS and LAPACKE
    interfaces have been updated to use the correct types for complex variables.
    All documentation has been updated to include these changes.

  - In libamath there are newly-optimized versions of erf and erfc, both for
    scalar and vector uses, and for single and double precision.


Resolved issues:
~~~~~~~~~~~~~~~~

Details any technical issues resolved in this release.

- Arm C/C++/Fortran Compiler 20.1:

  - Arm Compiler for Linux does not support "omp declare simd" pragmas on C++
    class member functions (declarations or definitions), and will ignore them
    in your code.

  - Fixed an issue with the dynamic scheduling of OpenMP do loops in Arm Fortran
    Compiler. Incorrect step sizes were being passed to the OpenMP runtime
    function.

  - Fixed an issue where Fortran VLAs had incomplete debug information. Debug
    handling code that captures upper and lower bounds of Fortran arrays has
    been improved.

  - Fixed an issue in Arm Fortran Compiler that prevented the 'Meso-NH' weather
    code from compiling successfully.

  - Fixed an issue in Arm Fortran Compiler that prevented code containing one
    or more "arithmetic if" statements compiling with the -i8 compiler option.

  - Fixed an interaction issue between fixed length arrays and SVE ACLE
    builtins.

  - Fixed an issue where the compiler could fail to obtain a license when
    multiple possible licenses were available, and where one license had no
    remaining seats.

  - Fixed an issue in arm-opt-report, where reports would incorrectly describe
    when loops were inlined and then unrolled.

  - To highlight the vectorization factor when scalable vectors are used, a new
    annotation option, VS<F,I>, has been added to arm-opt-report: VS<F,I>: A
    loop has been vectorized using scalable vectors. Each vector iteration
    performed has the equivalent of N*F*I scalar iterations, where N is the
    number of vector granules, which can vary according to the machine the
    program is run on. For example, LLVM assumes a granule size of 128 bits when
    targeting SVE. F (Vectorization Factor) and I (Interleave count) are as
    described for V<F,I>.

- Arm Performance Libraries 20.1.0:

  - Fixed an issue where log10f (single precision, base-10 logarithm function)
    reported inaccuracies when used in a vectorizable loop.

Known limitations
-----------------

Any issues known at the time of this release are detailed in the following
sub-section.

Open technical issues:
~~~~~~~~~~~~~~~~~~~~~~

Details any technical issues that are open at the time of this release.

- Arm C/C++/Fortran Compiler 20.1:

  - Copying module files to a different directory after installation, or using a
    symlink to the module files, might result in an error using 'module load'.
    If this issue affects you, to get the correct advice for your system
    configuration, please contact Arm support. Module configuration flexibility
    will be improved in a later release of Arm Compiler for Linux.

Get started
===========

This section describes how to get started with accessing, setting up, and
using Arm Compiler for Linux.

For more information, see the Get Started information on the Arm Developer website:

https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/resources/get-started

Licensing information
---------------------

Arm Compiler for Linux is available as part of Arm Allinea Studio,
and requires a valid license to run:

* For more information about Arm Allinea Studio licensing, see:

  https://developer.arm.com/tools-and-software/server-and-hpc/arm-allinea-studio/licensing

* To request a license, go to:

  https://store.developer.arm.com/store/high-performance-computing-hpc-tools/arm-allinea-studio

Once you have obtained a license file from Arm, follow these steps to make it
available for use.

Note: If you have a floating license, you must first download and install
Arm Licence Server:

https://developer.arm.com/tools-and-software/server-and-hpc/help/help-and-tutorials/system-administration/licensing/arm-licence-server

1. Save your client, named user, or evaluation license:

   - If you chose the default <install_location> directory, create a directory
     called 'licenses' in /opt/arm/ and copy your client license file to it.

   - If you specified a custom <install_location> directory, create an
     /opt/arm/licenses directory path, then copy your client license file to the
     'licenses' directory.

2. If you are using Arm Forge or Arm Performance Reports, and you do not have a
   separate license for these tools, set the ARM_LICENSE_DIR environment
   variable to point to <install_location>/licenses.

3. If you have a floating license, add the server license file to the machine
   where Arm Licence Server is installed. Create a directory called 'licenses'
   in the <install_location>/licenceserver directory and copy your license
   file to it. To enable the new floating license, restart Arm Licence Server.

Prerequisites
-------------

If any of the following tools are not already installed by your Linux
distribution, you must install them before installing Arm Compiler for Linux:

- 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-allinea-studio

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-compiler-for-linux-20.1*.sh
  RELEASE_NOTES.txt

Install the product
-------------------

To install Arm Compiler for Linux, run the installation script as a privileged
user and pass any options to configure the installation:

  ./arm-compiler-for-linux-20.1*.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.
- To only install the required packages for a subset of the supported
  microarchitectures, use the
  '--only-install-microarchitectures=<microarch>,<microarch>' option. To list
  the available microarchitectures, use '--list-available-microarchitectures'.

  Note: For both of these options there is a delay between running
  the script and receiving a response.

For a full list of supported installation options, see:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-allinea-studio/installation/install-package

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. To get the best performance, Arm recommends
   that you use the version that matches your platform.

   * For Arm C/C++/Fortran Compiler with Arm Performance Libraries:

       module load <architecture>/<OS>/<OS_Version>/suites/arm-linux-compiler/20.1
       module load <architecture>/<OS>/<OS_Version>/arm-linux-compiler-20.1/<ARMPL_Name>/20.1

   * For Arm C/C++/Fortran Compiler only:

       module load <architecture>/<OS>/<OS_Version>/suites/arm-linux-compiler/20.1

   Note: If you are using the GNU GCC packaged in Arm Compiler for Linux, use:

   * For GNU GCC 9.2.0 with Arm Performance Libraries:

       module load <architecture>/<OS>/<OS_Version>/gcc/9.2.0
       module load <architecture>/<OS>/<OS_Version>/gcc-9.2.0/<ARMPL_Name>/20.1.0

   * For GNU GCC 9.2.0 only:

       module load <architecture>/<OS>/<OS_Version>/gcc/9.2.0

2. To generate an executable binary with Arm Compiler for Linux, compile your
   program with Arm C/C++/Fortran Compiler and specify any options ([options]),
   the output binary name (-o <binary>), and the input file (<input>):

     {armclang|armclang++|armflang} [options] -o <binary> <input>

3. Run the generated binary <binary>:

     ./<binary>

Examples
--------

Example code is included in this suite as part of Arm Performance
Libraries. This code can be found at:

<install_location>/<ARMPL_Name>*<ARMPL_Version>*/examples

You need to copy this code to a writeable directory and load both the
Arm C/C++/Fortran Compiler and Arm Performance Libraries environment modules
for the examples to build.

For example:

1. Copy the examples somewhere writeable:

     cp -r <install_location>/armpl-20.1.0_*arm-linux-compiler*/examples ./
     cd examples

2. Load the correct environment modules:

     module load <architecture>/<OS>/<OS_Version>/suites/arm-linux-compiler/20.1
     module load <architecture>/<OS>/<OS_Version>/arm-linux-compiler-20.1/<ARMPL_Name>/<ARMPL_Version>

3. Build it:

     make

Uninstall
---------

For convenience, this package includes an "uninstall.sh" script at:

  <install_location>/arm-compiler-for-linux-20.1*/uninstall.sh

This script attempts to uninstall all the components supplied as part of
Arm Compiler for Linux. 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 Compiler for Linux,
contact support-hpc-sw@arm.com.

Support
=======

Arm Compiler for Linux documentation is available in
<install_location>/<package_name>/share, or on the Arm Developer website:

https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/resources

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 Compiler for Linux is
available on the Arm Developer website:

https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/resources/supported-platforms

Release history
===============

A full release history (with release notes) for Arm Compiler for Linux is
available on the Arm Developer website:

https://developer.arm.com/tools-and-software/server-and-hpc/arm-allinea-studio/release-history

Arm Forge 20.0.3 Release Notes
==============================
Copyright (c) 2002-2020 Arm Limited (or its affiliates). All rights reserved.

Arm Forge 20.0.3 provides a complete debugging and profiling environment for C, C++ and Fortran high-performance code on Linux, to help you develop and tune your HPC applications. Arm Forge combines an industry-leading debugger, Arm DDT, and an out-of-the-box-ready profiler, Arm MAP.

Contents
========

This document provides information specific to the 20.0.3 release of Arm Forge:

- Changes in this release:
    - New features and enhancements
    - Bug fixes
- Known issues
- System requirements
- Installing, uninstalling, licensing
- Running the tools
- Where to find example code
- How to access user documentation
- How to contact support

For information about previous releases of Arm Forge, see the release history online:

https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge/release-history

Changes in this release
=======================

Arm DDT:

- New features and enhancements:

None in this release.

- Bug fixes:

[FOR-9068] Fixed a race condition from within cuda-gdb which caused DDT to occasionally fail when launching a kernel.

[FOR-9374] The value of pointer items in the locals, current line, and evaluate views can now be modified.

Arm MAP:

- New features and enhancements:

None in this release.

- Bug fixes:

None in this release.

Known issues
============

See the known issues section on the Arm Developer website:

https://developer.arm.com/docs/101136/latest/known-issues


System requirements
===================

See the Supported Platforms page for Arm DDT and Arm MAP on the Arm Developer website at:

https://developer.arm.com/docs/101136/latest/supported-platforms


Installation instructions
=========================

Run the graphical "installer" or the text-only "textinstall.sh" from the download tarball.

You can choose to install just for you, or for all users on your system.

When installing on a cluster, ensure that Arm Forge is available at the same path on every machine.

If you have a job submission system such as PBS or LoadLeveler running, see the Configuration section in the Arm Forge User Guide for additional setup information:

https://developer.arm.com/docs/101136/latest/configuration

Full installation instructions are available in the Arm Forge user guide, and available on the Arm Developer website at:

https://developer.arm.com/docs/101136/latest/arm-forge/installation

To install the Remote Client for Windows, follow the instructions here:

https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge/resources/tutorials/setting-up-arm-forge-remote-client-on-windows

Uninstalling Arm Forge
======================

To uninstall Arm Forge, remove the installation directory from your system:

rm -r <installation-dir>

Licences
========

To get licence files for each product, contact Arm by emailing HPCToolsSales@arm.com. You can obtain evaluation licences from the Arm website at:

https://www.arm.com/products/development-tools/server-and-hpc/allinea-studio/get-software

Licence files must be stored in a directory called licences below the installation directory.

For a default (root) installation, the licences directory is:

   /opt/arm/forge/licences

For a default user-only installation, the licences directory is:

   ${HOME}/arm/forge/licences


Running DDT
===========

If you are using a supported desktop environment (KDE or Gnome), find the DDT icon in your Development > Programming menu.

To run DDT from the command line, type:

   {arm-forge-path}/bin/ddt

If {arm-forge-path}/bin is in your $PATH, type:

    ddt

You can optionally provide a program name as the first argument.

At startup, the Welcome page displays. From here you can choose to run a program, attach to an existing program, or open a core file.

To start debugging a program, click "Run". In the Run window, set the path to your program in the Application field, and click "Run" to start the program.

The program you choose runs using mpirun. If you have problems starting your program under DDT, ensure that it can run without DDT from the command line.

Running MAP
===========

If you are using a supported desktop environment (KDE or Gnome), find the MAP icon in your Development/Programming menu.

To run MAP from the command line, type:

   {arm-forge-path}/bin/map

If {arm-forge-path}/bin is in your $PATH, type:

    map

You can optionally provide a program name as the first argument.

At startup, the Welcome page displays.  From this page, you can profile a program, or load a profile from a previous run.

To start profiling a program, select "Profile". In the Run window, set the path to your program in the Application field, and click "Run" to start the program.

The program you choose runs using mpirun.  If you have problems starting your program under MAP, ensure that it can run without MAP from the command line.

Examples
========

Example code is available in the installation directory:

   <INSTALL_DIR>/examples

Copy the example code to a writeable directory and run the examples using the makefiles provided.

Documentation
=============

After you install Arm Forge, you can find a copy of these release notes in the installation directory. You can also find them online at:

https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge/release-history

The Arm Forge user guide is available in the <INSTALL_DIR>/doc directory, or online here:

https://developer.arm.com/docs/101136/latest/arm-forge

Further documentation, help, and tutorials are available online at:

https://developer.arm.com/tools-and-software/server-and-hpc/help

Support
=======

If you require support or would like to provide feedback, contact support-hpc-sw@arm.com, or use our support request form online:

https://developer.arm.com/tools-and-software/server-and-hpc/help

 

Arm Performance Reports 20.0.3 Release Notes
============================================
Copyright (c) 2002-2020 Arm Limited (or its affiliates). All rights reserved.

Arm Performance Reports 20.0.3 helps you characterize and understand the performance when running your HPC application, in a simple one-page report.

Contents
========

This document provides information specific to the 20.0.3 release of Arm Performance Reports:

- Changes in this release:
    - New features and enhancements
    - Bug fixes
- Known issues
- System requirements
- Installing, uninstalling, licensing
- Running the tools
- Where to find example code
- How to access user documentation
- How to contact support

For information about previous releases of Arm Performance Reports, see the release history online:

https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-reports/release-history

Changes in this release
=======================

- New features and enhancements:

None in this release.

- Bug fixes:

None in this release.

Known issues
============

See the known issues section on the Arm Developer website at:

https://developer.arm.com/docs/101137/latest/known-issues


System requirements
===================

See the supported platforms pages on the Arm Developer website at:

https://developer.arm.com/docs/101137/latest/supported-platforms

Installation instructions
=========================

Run the graphical "installer", or the text-only "textinstall.sh" from the download tarball.

You can choose to install just for you, or for all users on your system.

When installing on a cluster, ensure that the package is available at the same path on every machine.

Full installation instructions are available in the Arm Performance Reports user guide, and available on the Arm Developer website at:

https://developer.arm.com/docs/101137/latest/installation

Uninstalling Arm Performance Reports
====================================

To uninstall Arm Performance Reports, remove the installation directory from your system:

rm -r <installation-dir>

Licences
========

To get licence files for each product, contact Arm by emailing HPCToolsSales@arm.com. You can obtain evaluation licences from the Arm website at:

https://www.arm.com/products/development-tools/server-and-hpc/allinea-studio/get-software

Licence files must be stored in a directory called licences below the installation directory.

For a default (root) installation, the licences directory is:

   /opt/arm/reports/licences

For a default user-only installation, the licences directory is:

   ${HOME}/arm/reports/licences

Running Arm Performance Reports
===============================

To run Arm Performance Reports, add 'perf-report' in front of your existing mpiexec or aprun command-line, for example:

     {arm-reports-path}/bin/perf-report mpiexec -n 4 examples/wave_c

If {arm-reports-path}/bin is in your $PATH, just type 'perf-report'.

The program you runs runs as previously, and two report files, one .txt and one .html, arecreated in the current directory on completion. If you have problems starting your program under Performance Reports, ensure thta it can run without Performance Reports with no errors.

You can use the --output/-o argument to specify a single output file name.

See perf-report --help or the user guide for more information.

Examples
========

Example code is available in the installation directory:

   <INSTALL_DIR>/examples

Copy the example code to a writeable directory and run the examples using the makefiles provided.

Documentation
=============

After you install Arm Performance Reports, you can find a copy of these release notes in the installation directory. You can also find them online at:

https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-reports/release-history

The Arm Performance Reports user guide is available in the <INSTALL_DIR>/doc directory, or online here:

https://developer.arm.com/docs/101137/latest/introduction

Further documentation, help, and tutorials are available online at:

https://developer.arm.com/tools-and-software/server-and-hpc/help

Support
=======

If you require support or would like to provide feedback, contact support-hpc-sw@arm.com, or use our support request form online:

https://developer.arm.com/tools-and-software/server-and-hpc/help