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). 

For more compatibility information, see our supported platforms topic.

Arm Allinea Studio

Version 20.2

Released: June 26, 2020

What's new in 20.2

Arm Allinea Studio 20.2 includes:

  • Arm Compiler for Linux 20.2 - Released 26th June 2020
  • Arm Forge 20.1 - Released 26th June 2020

Arm Compiler for Linux 20.2

Additions and changes:

  • Arm Compiler for Linux suite 20.2:

    • Arm Compiler for Linux no longer supplies a ‘suite’ environment module (previously available as ‘<architecture>/<OS>/<OS_Version>/suites/arm-compiler-for-linux/<version>‘). Instead, to prepare your system environment for Arm C/C++/Fortran Compiler, load and use the ‘<architecture>/<OS>/<OS_Version>/arm-linux-compiler/<version>’ environment module.

    • The version of GCC that is packaged with Arm Compiler for Linux is now GCC 9.3.0 instead of GCC 9.2.0. A version of Arm Performance Libraries that is compatible with GCC 9.3.0 is also included.

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

    • We have restructured the Arm C/C++ Compiler and Arm Fortran Compiler reference guides. If you have bookmarked a topic whose URL address has changed, you will need to update it.

  • Arm Performance Libraries 20.2.0:

    • 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:

  • Arm Compiler for Linux suite 20.2:

    • Fixed an issue which could occur when installing the package in non-english locales.

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

    • The libbfd libraries that were previously included in the Arm Compiler for Linux package, have been removed. Arm recommends that you use the libraries on your system.

    • Fixed an issue in Arm C/C++ Compiler that was causing a compilation failure. The failure would happen when the compiler parses an openmp declare variant pragma that has all its function arguments decorated with the linear clause.

    • Fixed further bugs that were preventing the correct build and execution of some workloads on SVE-based systems.

  • Arm Performance Libraries 20.2.0:

    • Fixed a bug in the LAPACK *POTRF routines that would cause a crash when using multiple threads, and when operating on large matrices.

Open technical issues:

  • Arm Compiler for Linux suite 20.2:

    • The module swap command does not work when using newer versions of the module builtin. To swap the module, you must unload the old module, and then load the new module.

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

      • To function correctly on RHEL 8 systems, Arm Compiler for Linux relies on using the LD_LIBRARY_PATH environment variable. If you need to unset this environment variable, the compiler might fail to find libstdc++.so.6. If you are affected by this issue, contact the Arm Support team who will help determine a workaround for your system.

      • 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.1

    Arm DDT additions and changes:

    • 20.1
      • Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
      • Stepping and breakpoints are now supported in Python 3 code.
      • Interpreted Python stacks are now merged inline with the native stack to give a simplified view of Python applications. The evaluation window supports full Python expressions, including assignments, calculations and function calls.
      • Python interpreter debug symbols are no longer required for Python debugging.
      • Added support for Arm Compiler for Linux 20.1.
      • Added support for Arm Compiler for Linux 20.2.
      • Added support for GNU 8.3.0 compiler.
      • Changed the default DDT debugger to Forge GDB 8.2.
      • Added support for MVAPICH 2.3.x.
      • Static analysis for C++ updated to use cppcheck 1.89.
      • Added support for Red Hat Enterprise Linux/CentOS 8.
      • Added support for Open MPI 4.0.x.
      • Deprecated ddt-client and allinea-client (used for manual launch), please use forge-client instead.
      • Deprecated ddt-mpirun (used in .qtf scripts), please use forge-mpirun instead.
      • The backend daemon ddt-debugger has been renamed forge-backend and moved to the libexec directory. The frontend process ddt.bin has been renamed forge.bin.
      • Added support for Cuda 10.2 Debugging.
      • Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
      • Added support for PGI 20.1.
      • Forge and Licence Server are now built with Qt5 which comes with better OS X support.
      • Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
      • Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    Arm DDT resolved issues:

    • 20.1
      • [FOR-10146] Fixed a bug that caused the Windows installer to crash when opening the release notes.
      • [FOR-6608] Fixed an issue where std::string did not display correctly when using the PGI compiler.
      • [FOR-9981] Fixed a help link in the MDA Viewer.
      • [FOR-4149] Fixed a bug where the "Compare across threads" button in "View Pointers Details" did not work when accessed via the "Current Memory Usage" Tool.
      • [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
      • [FOR-8977] Fixed an array sorting issue with the variable viewer.
      • [FOR-9068] Fixed a race condition from within cuda-gdb which caused DDT to occasionally fail when launching a kernel.
      • [FOR-9236] Fixed an issue which occasionally displays this benign warning message "'libmap-sampler.so' from LD_PRELOAD cannot be preloaded".
      • [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
      • [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
      • [FOR-9934] Fixed a bug where using fence post checking with aligned memory allocators, such as posix_memalign, would lead to buffer overflows.
      • [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.
      • [FOR-9828] Fixed an issue whereby std::ofstream usage would not be correctly categorised as I/O when profiling.
      • [FOR-10036] Fixed possible crash when closing assembly view.
      • [FOR-10106] Fix crash when accepting Reverse Connect requests.
      • [FOR-9918] Fixed a bug where DDT potentially crashes when the program being debugged was signalled when evaluating expressions in gdb.
      • [FOR-9519] Improved the security of the Windows Remote Client.
      • [FOR-10096] The stereo rendering mode has been removed from the Array Viewer visualisation tool.
      • [FOR-10144] Fixed a crash that can occur in the Arm Forge remote client when connecting to remote session.
      • [FOR-9827] Fixed a crash that occurred when viewing Fortran arrays (PGI 19.5, 20.1 and Arm Compiler for Linux 20.2).
      • [FOR-10279] Fixed a bug which caused segfaults while opening and closing some context menus.

    Arm MAP additions and changes:

    • 20.1
      • Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
      • Added support for Python 3.8 profiling.
      • Added GPU Metrics for ppc64le systems.
      • Removed the following GPU Metrics to increase performance and stability of GPU Profiling: "temperature" and "time spent in global memory accesses".
      • Added support for Arm Compiler for Linux 20.1.
      • Added support for Arm Compiler for Linux 20.2.
      • Added support for GNU 8.3.0 compiler.
      • Added support for CUDA 10.2 Profiling.
      • Added support for MVAPICH 2.3.x.
      • forge-probe now shows a warning if security settings may prevent the collection of Perf-based metrics.
      • Static analysis for C++ updated to use cppcheck 1.89.
      • Added support for Red Hat Enterprise Linux/CentOS 8.
      • Added support for Open MPI 4.0.x.
      • Deprecated ddt-client and allinea-client (used for manual launch), please use forge-client instead.
      • Deprecated ddt-mpirun (used in .qtf scripts), please use forge-mpirun instead.
      • The backend daemon ddt-debugger has been renamed forge-backend and moved to the libexec directory. The frontend process ddt.bin has been renamed forge.bin.
      • A warning displays if GPU profiling is prevented by the nvidia module parameter NVreg_RestrictProfilingToAdminUsers.
      • Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
      • Added support for PGI 20.1.
      • Forge and Licence Server are now built with Qt5 which comes with better OS X support.
      • Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
      • Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    Arm MAP resolved issues:

    • 20.1.
      • [FOR-10146] Fixed a bug that caused the Windows installer to crash when opening the release notes.
      • [FOR-8547] Fixed an issue with a mismatch between some line breakdowns and adjacent sparkline graphs.
      • [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
      • [FOR-9236] Fixed an issue which occasionally displays this benign warning message "'libmap-sampler.so' from LD_PRELOAD cannot be preloaded".
      • [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
      • [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
      • [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.
      • [FOR-10106] Fix crash when accepting Reverse Connect requests.
      • [FOR-9377] Fixed a bug in physical core count reported when profiling on a machine with disabled cores.

    Arm Performance Reports additions and changes:

    • 20.0.
      • Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
      • Added support for Python 3.8 profiling.
      • Added GPU Metrics for ppc64le systems.
      • Removed the following GPU Metrics to increase performance and stability of GPU Profiling: "temperature" and "time spent in global memory accesses".
      • Added support for Arm Compiler for Linux 20.1.
      • Added support for Arm Compiler for Linux 20.2.
      • Added support for GNU 8.3.0 compiler.
      • Added support for CUDA 10.2 Profiling.
      • Added support for MVAPICH 2.3.x.
      • Added support for Red Hat Enterprise Linux/CentOS 8.
      • Added support for Open MPI 4.0.x.
      • Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
      • Added support for PGI 20.1.
      • Forge and Licence Server are now built with Qt5 which comes with better OS X support.
      • Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
      • Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    Arm Performance Reports resolved issues:

    • 20.1.
      • [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
      • [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
      • [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
      • [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.

    Arm Forge deprecated features:

    The following features have been deprecated in the stated release, and might be removed in a future version:

    • 20.1
      • VisIt Visualization.
      • Automatically adding breakpoints and tracepoints based on version control information.
      • Support for CUDA 8.x
      • Support for Python 2.x.x.
      • Support for the following MPIs: SGI MPT (prior to HPE MPI), Open MPI on Cray X-series systems, Open MPI 2.x.x, Parastation MPI.

    Arm Forge known issues

    Please refer to the known issues page



    Release Note for Release History 20.2

    The ordering of the Release Notes are:

    1) Arm Compiler for Linux 20.2 Release Note
    2) Arm Forge 20.1 Release Note

    Arm Compiler for Linux 20.2 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.2 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.2
    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.2

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

    - Arm Performance Libraries 20.2.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.3.0.

    - GNU GCC 9.3.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.3.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.2 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.2
    - Arm Performance Libraries 20.2.0
    - GNU GCC 9.3.0
    - Release Notes (this document)
    - Documentation (product documentation is available in
      <install_location>/<package_name>/share, and on the Arm Developer website at:

      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.2:

      - Arm Compiler for Linux no longer supplies a ‘suite’ environment module
        (previously available as ‘<architecture>/<OS>/<OS_Version>/suites/arm-
        compiler-for-linux/<version>‘). Instead, to prepare your system environment
        for Arm C/C++/Fortran Compiler, load and use the
        ‘<architecture>/<OS>/<OS_Version>/arm-linux-compiler/<version>’ environment
        module.

      - The version of GCC that is packaged with Arm Compiler for Linux is now GCC
        9.3.0 instead of GCC 9.2.0. A version of Arm Performance Libraries that is
        compatible with GCC 9.3.0 is also included.

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

      - We have restructured the Arm C/C++ Compiler and Arm Fortran Compiler
        reference guides. If you have bookmarked a topic whose URL address has
        changed, you will need to update it.

    - Arm Performance Libraries 20.2.0:

      - 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:
    ~~~~~~~~~~~~~~~~

    Details any technical issues resolved in this release.

    - Arm Compiler for Linux suite 20.2:

      - Fixed an issue which could occur when installing the package in non-english
        locales.

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

      - The libbfd libraries that were previously included in the Arm Compiler for
        Linux package, have been removed. Arm recommends that you use the libraries
        on your system.

      - Fixed an issue in Arm C/C++ Compiler that was causing a compilation failure.
        The failure would happen when the compiler parses an openmp declare variant
        pragma that has all its function arguments decorated with the linear clause.

      - Fixed further bugs that were preventing the correct build and execution of
        some workloads on SVE-based systems.

    - Arm Performance Libraries 20.2.0:

      - 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:
    ~~~~~~~~~~~~~~~~~~~~~~

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

    - Arm Compiler for Linux suite 20.2:

      - The module swap command does not work when using newer versions of the
        module builtin. To swap the module, you must unload the old module, and then
        load the new module.

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

      - To function correctly on RHEL 8 systems, Arm Compiler for Linux relies on
        using the LD_LIBRARY_PATH environment variable. If you need to unset this
        environment variable, the compiler might fail to find libstdc++.so.6. If you
        are affected by this issue, contact the Arm Support team who will help
        determine a workaround for your system.

      - 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 to install to the default installation directory, create a directory
         called 'licenses' in /opt/arm/ and copy your client license file to it.

       - If you chose to install to a custom installation directory, create a directory
         called 'licenses' in <install_location>/ and copy your client license file to it.
         Set the ARM_LICENSE_DIR environment varible to <install_location>/licenses.

    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.2*.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.2*.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>/arm-linux-compiler/20.2
           module load <architecture>/<OS>/<OS_Version>/arm-linux-compiler-20.2/<ARMPL_Name>/20.2

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

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

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

       * For GNU GCC 9.3.0 with Arm Performance Libraries:

           module load <architecture>/<OS>/<OS_Version>/gcc/9.3.0
           module load <architecture>/<OS>/<OS_Version>/gcc-9.3.0/<ARMPL_Name>/20.2.0

       * For GNU GCC 9.3.0 only:

           module load <architecture>/<OS>/<OS_Version>/gcc/9.3.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.2.0_*arm-linux-compiler*/examples ./
         cd examples

    2. Load the correct environment modules:

         module load <architecture>/<OS>/<OS_Version>/arm-linux-compiler/20.2
         module load <architecture>/<OS>/<OS_Version>/arm-linux-compiler-20.2/<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.2*/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.1 Release Note
    ================================

    Copyright (c) 2017-2020 Arm Limited (or its affiliates). All rights reserved.

    Copyright (c) 2002-2016 Allinea Software Limited.

    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 (c) 2017-2020 Arm Limited (or its affiliates). All rights reserved.

    Copyright (c) 2002-2016 Allinea Software Limited.

    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
    ========

    - Glossary
    - Release overview
    - Release contents
    - Get started
    - Support
    - Release History


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

    Arm Forge 20.1 combines Arm DDT, Arm MAP, and Arm Performance Reports. Arm DDT is the leading debugger for time-saving high-performance application debugging. Arm MAP is the trusted performance profiler for invaluable optimization advice across native and Python HPC codes. Arm Performance Reports provides advanced reporting capabilities.

    This release includes enhancements and bug fixes.

    Release status
    --------------

    This is the 20.1 release of Arm Forge.

    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 subsections detail:
    - The component 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
    ------------
    Note: Product Download Hub (PDH) delivers all product parts in a single package.

    - Arm Forge, which includes:
      - Arm DDT
      - Arm MAP
      - Arm Performance Reports
    - Release Notes (this document, also available at: https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge/release-history)
    - Documentation is available in the documentation area of your product installation or online at:
      https://developer.arm.com/docs/101136/2010

    Information about how to use the Arm HPC tools to debug, profile, and analyze many common scientific applications are available on the Arm Developer website:

    https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge

    Further documentation about all the tools can be found online at:

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

    Documentation can change between product releases. For the latest product documentation, check the software downloads page on the Arm Developer website at:
    https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge

    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 Forge are detailed in the following subsections.


    Additions and changes
    ~~~~~~~~~~~~~~~~~~~~~

    - Arm DDT:
    Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
    Stepping and breakpoints are now supported in Python 3 code.
    Interpreted Python stacks are now merged inline with the native stack to give a simplified view of Python applications. The evaluation window supports full Python expressions, including assignments, calculations and function calls.
    Python interpreter debug symbols are no longer required for Python debugging.
    Added support for Arm Compiler for Linux 20.1.
    Added support for Arm Compiler for Linux 20.2.
    Added support for GNU 8.3.0 compiler.
    Changed the default DDT debugger to Forge GDB 8.2.
    Added support for MVAPICH 2.3.x.
    Static analysis for C++ updated to use cppcheck 1.89.
    Added support for Red Hat Enterprise Linux/CentOS 8.
    Added support for Open MPI 4.0.x.
    Deprecated ddt-client and allinea-client (used for manual launch), please use forge-client instead.
    Deprecated ddt-mpirun (used in .qtf scripts), please use forge-mpirun instead.
    The backend daemon ddt-debugger has been renamed forge-backend and moved to the libexec directory. The frontend process ddt.bin has been renamed forge.bin.
    Added support for Cuda 10.2 Debugging.
    Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
    Added support for PGI 20.1.
    Forge and Licence Server are now built with Qt5 which comes with better OS X support.
    Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
    Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    - Arm MAP:
    Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
    Added support for Python 3.8 profiling.
    Added GPU Metrics for ppc64le systems.
    Removed the following GPU Metrics to increase performance and stability of GPU Profiling: "temperature" and "time spent in global memory accesses".
    Added support for Arm Compiler for Linux 20.1.
    Added support for Arm Compiler for Linux 20.2.
    Added support for GNU 8.3.0 compiler.
    Added support for CUDA 10.2 Profiling.
    Added support for MVAPICH 2.3.x.
    forge-probe now shows a warning if security settings may prevent the collection of Perf-based metrics.
    Static analysis for C++ updated to use cppcheck 1.89.
    Added support for Red Hat Enterprise Linux/CentOS 8.
    Added support for Open MPI 4.0.x.
    Deprecated ddt-client and allinea-client (used for manual launch), please use forge-client instead.
    Deprecated ddt-mpirun (used in .qtf scripts), please use forge-mpirun instead.
    The backend daemon ddt-debugger has been renamed forge-backend and moved to the libexec directory. The frontend process ddt.bin has been renamed forge.bin.
    A warning displays if GPU profiling is prevented by the nvidia module parameter NVreg_RestrictProfilingToAdminUsers.
    Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
    Added support for PGI 20.1.
    Forge and Licence Server are now built with Qt5 which comes with better OS X support.
    Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
    Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    - Arm Performance Reports:
    Performance Reports is now packaged alongside DDT and MAP in the Forge installation. Performance Reports users should now download and install Forge, and can find documentation in the Forge user guide.
    Added support for Python 3.8 profiling.
    Added GPU Metrics for ppc64le systems.
    Removed the following GPU Metrics to increase performance and stability of GPU Profiling: "temperature" and "time spent in global memory accesses".
    Added support for Arm Compiler for Linux 20.1.
    Added support for Arm Compiler for Linux 20.2.
    Added support for GNU 8.3.0 compiler.
    Added support for CUDA 10.2 Profiling.
    Added support for MVAPICH 2.3.x.
    Added support for Red Hat Enterprise Linux/CentOS 8.
    Added support for Open MPI 4.0.x.
    Allow MPI implementation to be specified via command-line options --mpi and --list-mpis.
    Added support for PGI 20.1.
    Forge and Licence Server are now built with Qt5 which comes with better OS X support.
    Removed support for some obsolete compilers and MPIs. See "Supported Platforms" in the user guide for more information.
    Added the version number to the default install path on Windows and Linux, to allow multiple versions to be installed alongside each other.

    Resolved issues
    ~~~~~~~~~~~~~~~

    - Arm DDT:
    [FOR-10146] Fixed a bug that caused the Windows installer to crash when opening the release notes.
    [FOR-6608] Fixed an issue where std::string did not display correctly when using the PGI compiler.
    [FOR-9981] Fixed a help link in the MDA Viewer.
    [FOR-4149] Fixed a bug where the "Compare across threads" button in "View Pointers Details" did not work when accessed via the "Current Memory Usage" Tool.
    [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
    [FOR-8977] Fixed an array sorting issue with the variable viewer.
    [FOR-9068] Fixed a race condition from within cuda-gdb which caused DDT to occasionally fail when launching a kernel.
    [FOR-9236] Fixed an issue which occasionally displays this benign warning message "'libmap-sampler.so' from LD_PRELOAD cannot be preloaded".
    [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
    [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
    [FOR-9934] Fixed a bug where using fence post checking with aligned memory allocators, such as posix_memalign, would lead to buffer overflows.
    [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.
    [FOR-9828] Fixed an issue whereby std::ofstream usage would not be correctly categorised as I/O when profiling.
    [FOR-10036] Fixed possible crash when closing assembly view.
    [FOR-10106] Fix crash when accepting Reverse Connect requests.
    [FOR-9918] Fixed a bug where DDT potentially crashes when the program being debugged was signalled when evaluating expressions in gdb.
    [FOR-9519] Improved the security of the Windows Remote Client.
    [FOR-10096] The stereo rendering mode has been removed from the Array Viewer visualisation tool.
    [FOR-10144] Fixed a crash that can occur in the Arm Forge remote client when connecting to remote session.
    [FOR-9827] Fixed a crash that occurred when viewing Fortran arrays (PGI 19.5, 20.1 and Arm Compiler for Linux 20.2).
    [FOR-10279] Fixed a bug which caused segfaults while opening and closing some context menus.

    - Arm MAP:
    [FOR-10146] Fixed a bug that caused the Windows installer to crash when opening the release notes.
    [FOR-8547] Fixed an issue with a mismatch between some line breakdowns and adjacent sparkline graphs.
    [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
    [FOR-9236] Fixed an issue which occasionally displays this benign warning message "'libmap-sampler.so' from LD_PRELOAD cannot be preloaded".
    [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
    [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
    [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.
    [FOR-10106] Fix crash when accepting Reverse Connect requests.
    [FOR-9377] Fixed a bug in physical core count reported when profiling on a machine with disabled cores.

    - Arm Performance Reports:
    [FOR-8854] A document history page is now included in the Arm Forge User Guide listing the version history.
    [FOR-9271] Fixed an issue where OpenMPI occasionally displays a SIGPIPE signal during startup, causing a failure.
    [FOR-6070] Fixed an issue with example builds to allow spaces, ampersand (&), and hash (#) in the pathname.
    [FOR-9735] Fixed a bug whereby the C++ standard library used by Forge could interfere with target programs.

    Deprecated features
    ~~~~~~~~~~~~~~~~~~~

    The following features have been deprecated in this release, and might be removed in a future version:
    - VisIt Visualization.
    - Automatically adding breakpoints and tracepoints based on version control information.
    - Support for CUDA 8.x
    - Support for Python 2.x.x.
    - Support for the following MPIs: SGI MPT (prior to HPE MPI), Open MPI on Cray X-series systems, Open MPI 2.x.x, Parastation MPI.

    If you rely on this functionality, please contact support-hpc-sw@arm.com.


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

    See the known issues section on the Arm Developer website:
    https://developer.arm.com/docs/101136/2010/known-issues


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

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

    For more information, see:
    https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge/resources/get-started

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

    Arm Forge requires a valid license to run.

    Note: You do not need to install a license file on a machine that is running the Remote Client for connecting remotely to Arm Forge products. The license is only required on the machine on which Arm Forge is installed.

    To request a license, go to:
    https://store.developer.arm.com/store/high-performance-computing-hpc-tools/arm-forge

    To request an evaluation license, go to:
    https://pages.arm.com/Hpc-trial-request.html

    For more information about Arm HPC tools licensing, see:
    https://developer.arm.com/docs/101169/2010/using-arm-licence-server.


    When you have obtained a license file from Arm, download and install the appropriate platform version of the product here:

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


    See the Arm Forge User Guide for installation methods, such as using the command-line interface and using the GUI to install Arm Forge on Windows, Linux, and MAC, at:
    https://developer.arm.com/docs/101136/2010/arm-forge/installation

    Run the product
    ---------------

    See the Arm Forge User Guide for information about running each of the components, Arm DDT, Arm MAP, and Arm Performance Reports:
    https://developer.arm.com/docs/101136/2010/arm-forge/starting


    Configure the product
    ---------------------

    To learn how to configure the Arm Forge components, see the user guide at:
    https://developer.arm.com/docs/101136/2010/configuration


    Examples
    --------

    A range of example applications are provided with the product installation that you can use alongside information in the User Guide to explore Arm Forge functionality.
    The example applications are located in the <install_directory>/examples directory.


    Support
    -------

    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.


    Tools
    -----

    Full information about the supported platforms for Arm Forge are available on the Developer website:
    https://developer.arm.com/docs/101136/2010/supported-platforms


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

    A full release history for Arm Forge is available at:
    https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge/release-history