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 18.1

Released: January 17, 2018

What's new in 18.1

Arm Compiler for HPC contains the following packages:

  • Arm Compiler v18.1
  • Arm Performance Libraries v18.1
  • GNU GCC 7.1

New features and enhancements

This release contains the following new features and enhancements:

Arm Compiler 18.1

Redhat 7 support is now provided as a single package, rather than having individual packages for each point release

Compiler flag documentation (output with --help, the armflang manpage and the online documentation) have been simplified, by no longer documenting PGI-style Fortran flags when these flags have an exact GCC-style equivalent flag. Although no longer documented, the PGI-style flags are still supported as in previous releases.

A new flag -fsimdmath enables vectorization of some scalar libm functions, by automatically replacing calls to these functions with a vectorized form inside of vectorized loops.  These vectorized forms are included in a new library (libsimdmath.so), which is included in the release and automatically linked in during compilation.

License management for Arm Compiler is available as a default-off feature for beta testing.  If you wish to try this feature in your environment, please contact your Arm representative.

The OpenMP runtime library (libomp.so) has been improved for platforms supporting the ARMv8.1-a architecture. Two versions of this library are included with the release, with the most appropriate library selected automatically.

Debug information has now been enabled for module variables. With this change, users can now print/access these variables whilst debugging. We also generate debug information for modules even if they contain variables only.

Arm Performance Libraries 18.1

Optimizations for very small double precision real matrix-matrix multiplication, improving DGEMM and DGEMM_BATCH performance. Optimizations for complex Hermitian and symmetric matrix-matrix multiplication for Cavium ThunderX2.

Release Note for Arm Allinea Studio - Release History 18.1

Arm Compiler for HPC 18.1

Arm Compiler for HPC 18.1 suite provides a complete compiling environment, with Arm Compiler with C/C++/Fortran support and Arm Performance Libraries, to develop and tune your HPC applications on server-class Armv8-A based platforms.

It contains the following packages:

Arm Compiler 18.1

Arm Compiler is a Linux user-space C/C++/Fortran compiler tailored for scientific computing, HPC and enterprise workloads. This release includes a number of enhancements and bug fixes.

Arm Performance Libraries 18.1

The Arm Performance Libraries are optimized for AArch64 and for specific AArch64 implementations. These provide BLAS, LAPACK and FFT routines optimized for execution on 64-bit Arm. Please note that there are multiple libraries and module files available for this package. The user should load the most optimal library for their platform.

This release includes multiple Arm Performance Libraries packages, each of which are optimized for individual Armv8 AArch64 implementations (Cortex-A57, Cortex-A72, Qualcomm Falkor, Cavium ThunderX and ThunderX2CN99). This release includes builds of the libraries which are compatible with GNU GCC 7.1 as well as the Arm Compiler.

We recommend you use the version that matches your platform for the best performance. You can also use the generic AArch64 implementation by running:

GCC 7.1.0 version:

% module load Generic-AArch64/<OS>/<OS_Version>/gcc-7.1.0/<ARMPL_Name>/18.1

Arm Compiler version:

% module load Generic-AArch64/<OS>/<OS_Version>/arm-hpc-compiler-18.1/<ARMPL_Name>/18.1

GNU GCC 7.1

A build of GNU's GCC 7.1 release is provided for convenience and for OpenMP/libgfortran compatibility with the Arm Performance Libraries. This is a GNU tool suite and the GPL source code can be downloaded separately. This build is not supported by Arm.

Changes in this Release

New features and enhancements:

Arm Compiler 18.1

Redhat 7 support is now provided as a single package, rather than having individual packages for each point release

Compiler flag documentation (output with --help, the armflang manpage and the online documentation) have been simplified, by no longer documenting PGI-style Fortran flags when these flags have an exact GCC-style equivalent flag. Although no longer documented, the PGI-style flags are still supported as in previous releases.

A new flag -fsimdmath enables vectorization of some scalar libm functions, by automatically replacing calls to these functions with a vectorized form inside of vectorized loops.  These vectorized forms are included in a new library (libsimdmath.so), which is included in the release and automatically linked in during compilation.

License management for Arm Compiler is available as a default-off feature for beta testing.  If you wish to try this feature in your environment, please contact your Arm representative.

The OpenMP runtime library (libomp.so) has been improved for platforms supporting the ARMv8.1-a architecture. Two versions of this library are included with the release, with the most appropriate library selected automatically.

Debug information has now been enabled for module variables. With this change, users can now print/access these variables whilst debugging. We also generate debug information for modules even if they contain variables only.

Arm Performance Libraries 18.1

Optimizations for very small double precision real matrix-matrix multiplication, improving DGEMM and DGEMM_BATCH performance. Optimizations for complex Hermitian and symmetric matrix-matrix multiplication for Cavium ThunderX2.

Bug fixes

Arm Compiler 18.1

SC-2338: Improvements to handling of OpenMP thread placement with OMP_PLACES=cores on ThunderX2 platforms

Arm Performance Libraries 18.1

O-723: Correctly include single precision Fortran FFTW interface.

Known issues

Arm Compiler 18.1

SC-2379: Debugging imported Fortran modules is not currently supported.

SC-2411: Debugging information is not currently provided for Fortran pointer/allocatable arrays.

Speculation Barrier Support

A series of functions are being proposed to the open-source LLVM community, to help protect against the cache timing side-channel vulnerability to speculative processors, also known as Spectre.  Further details of this issue can be found at https://developer.arm.com/support/security-update.

This release of Arm Compiler does not provide built-in support for these functions, but users can make use of them by using a header file provided at https://github.com/ARM-software/speculation-barrier.

A future release of Arm Compiler will provide built-in support for these functions without requiring the use of this header file.

System Requirements

This suite is supported on the following Linux platforms:

  • AArch64 Redhat 7 - AArch64 SUSE 12
  • AArch64 Ubuntu 16.04

Installation Instructions

To install the Arm Compiler for HPC suite, you should run the installation script as a privileged user:

% ./arm-compiler-for-hpc-18.1*.sh

The installer displays the EULA and prompts you to agree to the terms. Type 'yes' at the prompt to agree.

For headless installation, run the installer with the --accept command-line parameter to automatically accept the EULA.

To perform a local install, run the installer with the --install-to <dir> option.

All packages are unpacked to /opt/arm/<package_name> with environment module files available under /opt/arm/modulefiles. Extra documentation can be found, for each installed package, at /opt/arm/<package_name>/share/. Local installs have the same directory structure starting from the user's 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

Environment Modules

Each installed package has an Environment Module file installed under /opt/arm/modulefiles. You can add this directory to your ${MODULESHOME}/init/.modulespath file or to your $MODULEPATH environment variable. For example:

For SH or BASH shells:

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

Alternatively you can use the module use command:

% module use /opt/arm/modulefiles

Once your environment has been configured to use the module files, use the module avail command to list the available modules and the module load command to set up your environment to use them.

The main module file for this release is loaded by running:

% module load Generic-AArch64/<OS>/<OS_Version>/suites/<SUITE_Mod_Name>/18.1

This will load all of the modules belonging to the packages included with this product with the exception of the Arm Performance Libraries. You can also module load the individual components:

- Arm Compiler 18.1

Generic-AArch64/<OS>/<OS_Version>/arm-hpc-compiler/18.1

- Arm Performance Libraries 18.1

GCC 7.1.0 version:

<Specific_Core>/<OS>/<OS_Version>/gcc-7.1.0/<ARMPL_Name>/18.1

Arm Compiler version:

<Specific_Core>/<OS>/<OS_Version>/arm-hpc-compiler-18.1/<ARMPL_Name>/18.1

- GNU GCC 7.1

Generic-AArch64/<OS>/<OS_Version>/gcc/7.1.0

More information about Environment Modules can be found at: http://modules.sourceforge.net

C Libraries 

The compilers included with this suite are built to use the C Libraries provided by your linux distribution. If errors such as "ld: cannot find crt1.o" are reported, you will need to install the libraries on your system. The package names for these libraries are:

SUSE and RHEL: glibc-devel

Ubuntu:        libc6-dev

Documentation

Once installed these release notes can be found at:

<Install_Dest>/share/

The Performance Libraries provides a manual which can be found at:

/opt/arm/<ARMPL_Name>-<ARMPL_Version>*/Doc/

Documentation about all the components, some examples of installations and using the tools can be found online at:

https://developer.arm.com/products/software-development-tools/hpc/documentation

If you require support or would like to provide feedback, please contact support-hpc-sw@arm.com.

Example Code

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

/opt/arm/<ARMPL_Name>*<ARMPL_Version>*/examples

You will need to copy this to a writeable directory and load both the Arm Compiler and Arm Performance Libraries environment modules for the examples to build.

For example:

Copy the examples somewhere writeable:

% cp -r /opt/arm/<ARMPL_Name>-<ARMPL_Version>_Generic-AArch64_<OS>-<OS_Version>_arm-hpc-compiler_18.1_aarch64-linux/examples/some/writable/directory/examples
% cd /some/writeable/directory/examples

Load the correct environment modules:

% module load Generic-AArch64/<OS>/<OS_Version>/suites/<SUITE_Mod_Name>/<SUITE_Version>
% module load Generic-AArch64/<OS>/<OS_Version>/arm-hpc-compiler-18.1/<ARMPL_Name>/<ARMPL_Version>

Build it:

% make

Uninstalling

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

/opt/arm/arm-compiler-for-hpc-18.1*/uninstall.sh

This script attempts to uninstall all the packages supplied as part of this suite. Note that this may not be possible if other packages, outside of this suite, depend on them. You will need to uninstall the dependant packages as well.

Please note that, if you use the --install-to option provided by the installer, you will need to uninstall the packages by manually removing their directories.