Arm Compiler for HPC

See what's new in each release, and access the Release Notes for current and previous versions of Arm Compiler for HPC with Arm Performance Libraries.

To get the latest version, download the Arm Compiler for HPC package, and follow the steps in the installation instructions.

 

Arm Compiler for HPC

Version 1.2

Released: June 01, 2017

What's new in 1.2

Arm Compiler for HPC contains the following packages:

  • Arm C/C++ Compiler v1.2
  • Arm Performance Libraries v2.1.0
  • GNU GCC 6.1

New features and enhancements

==========================

  • Arm C/C++ Compiler 1.2:
    Arm C Language extensions for SVE are now implemented. Documentation is available online at: https://developer.arm.com/docs/100987/latest/arm-c-language-extensions-for-sve

  • Arm Performance Libraries 2.1.0:
    Performance and memory usage improvements. Support for LAPACK 3.7.0. All optimised varieties of the Arm Performance Libraries are now included. The user should load the correct module file for the most optimal library for their platform.

Release Note for Release History 1.2

ARM Compiler for HPC 1.2
========================

ARM Compiler for HPC 1.2 suite provides a complete compiling environment, with
ARM C/C++ Compiler and ARM Performance Libraries, to develop and tune your HPC
applications on ARMv8-A based SoCs.

It contains the following packages:

- ARM C/C++ Compiler 1.2

  ARM's C/C++ Compiler for HPC. This version implements the ARM C Language
  extensions for SVE. It also includes a number of performance improvements
  and bug fixes.

- ARM Performance Libraries 2.1.0

  The ARM Performance Libraries 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-A53,
  Cortex-A57, Cortex-A72, ThunderX, ThunderX2CN99, and X-Gene 1). We recommend
  you use the version that matches your platform for the best performance. You
  can also use the generic AArch64 implementation by running:

  % module load Generic-AArch64/<OS>/<OS_Version>/armpl/2.1.0

  Or for the evaluation:

  % module load Generic-AArch64/<OS>/<OS_Version>/armpl_time_limited/2.1.0

- GNU GCC 6.1

  A build of GNU's GCC 6.1 release 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 C/C++ Compiler 1.2:
  ARM C Language extensions for SVE are now implemented. Documentation is
  available online at:
  https://developer.arm.com/docs/100987/latest/arm-c-language-extensions-for-sve

- ARM Performance Libraries 2.1.0:
  Performance and memory usage improvements.
  Support for LAPACK 3.7.0.
  All optimised varieties of the ARM Performance Libraries are now included.
  The user should load the correct module file for the most optimal library for
  their platform.

Bug fixes:

- ARM C/C++ Compiler 1.2:
  Various small bug fixes and improvements to armclang/armclang++.

- ARM Performance Libraries 2.1.0:
  Various small bug fixes and improvements.

- GNU GCC 6.1:
  O-413: The libstdc++ headers shipped with GCC contained an incorrect
  definition of isnan for some of the target linux distributions. This release
  corrects the issue.
  O-422: The finclude directories shipped with GCC were missing the omp_lib.*
  files. This release corrects the issue.

Other changes:

- Installer
  The installer now allows the user to specify a destination directory for the
  install. This results in a user-only installation along with the relevant
  module files. Please note that the included uninstall.sh helper script will
  not uninstall this type of installation.

System Requirements
===================

This suite is supported on the following Linux platforms:

- AArch64 Redhat 7.2
- AArch64 SUSE 12
- AArch64 Ubuntu 14.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-1.2*.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/.

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/arm-compiler-for-hpc/1.2

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 C/C++ Compiler 1.2

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

- ARM Performance Libraries 2.1.0

  <Specific_Core>/<OS>/<OS_Version>/armpl/2.1.0

  Or for the evaluation:
  <Specific_Core>/<OS>/<OS_Version>/armpl_time_limited/2.1.0

- GNU GCC 6.1

  Generic-AArch64/<OS>/<OS_Version>/gcc/6.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


Known Issues
============

- None.

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

Once installed, each package has a README and Release Notes located at
/opt/arm/<package_name>/share.

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 please contact support-hpc-sw@arm.com