Arm Allinea Studio 18.4 is now available, with an updated Arm Performance Libraries and improved compilers. In this blog, I have captured the highlights of the release, including new Fortran Directives (IVDEP, OMP SIMD), compiler option updates, new math routines and other performance improvements.
Arm Fortran Compiler in 18.4 supports the IVDEP Fortran Directive. You can use this general-purpose directive on a loop to force the vectorizer to ignore memory dependencies of iterative loops and proceed with vectorization. Refer to Directives chapter of Arm Fortran Compiler Language Reference guide for further information and an example.
In 18.4, you can apply the OpenMP directive omp simd applied to a loop, to instruct the compiler to transform the loop into a SIMD loop. Since this is an OpenMP directive, you must compile the file with the -fopenmp option for omp simd to take effect.
omp simd
-fopenmp
Arm Fortran Compiler (armflang) supports -fstack-arrays option, which places all automatic arrays on the stack. With the 18.4 release, this option is enabled by default when the optimization level -Ofast is used. This brings Arm Fortran Compiler into line with the GNU Fortran Compiler (gfortran), where -fstack-arrays is also enabled by default at the -Ofast level. Note, for programs with large local arrays, you may have to extend runtime limits of stack memory. If this is not possible, you can disable the option by specifying the option -fno-stack-arrays when using the -Ofast level.
-fstack-arrays
-Ofast
-fno-stack-arrays
Arm Fortran Compiler (armflang) 18.4 release fixes an issue with usage of the -E (only run the preprocessor) option.
-E
We introduced a new library, libamath, in the 18.3 release. This library consists of optimized implementations of pow, exp, and log routines. The 18.4 release adds single precision sin and cos routines. In addition, it also has optimized double precision exp, pow, and log routines. The implementations are derived from Arm Optimized Routines, a conveniently licensed open source project.
The 18.4 release of Arm Performance Libraries builds on the FFT improvements delivered in the previous two releases. In particular, complex-to-real functions are now performing to the same level as the real-to-complex and complex-to-complex optimizations already included. These optimizations apply across both the basic and the advanced FFTW interfaces, and to any number of dimensions. The 18.4 release also includes numerous smaller performance improvements, the most notable of which includes SGEMM work, particularly for very non-square problems.
The 18.4 version has specifically tuned libraries for Cavium ThunderX2, Qualcomm Falkor, and Arm Cortex-A72 based platforms. For other platforms, including Cavium ThunderX and Arm Cortex-A57 based platforms, please use generic AArch64 variants of Arm Performance Libraries.
The 18.4 release ships with a Fortran Compiler Reference PDF document with all the Fortran related documentation. The document is also available on the Arm Developer website [Download the PDF].
To help users migrate from gfortran to Arm Fortran Compiler (armflang), we have published a migration guide covering the common use cases. In the coming months, we plan to add migration guides related to other commercial compilers available on other platforms.
Porting and tuning guides on Arm Developer provide instructions on how to build and run popular HPC and scientific workloads with Arm Compilers. These guides enable a smooth transition when porting HPC applications to the Armv8-A architecture. We now have new guides covering more of the common workloads and libraries.
If you have questions, doubts or want to raise an issue either via support-hpc-sw@arm.com or support-page. The vast majority of requests are answered within a single working day. The revamped HPC ecosystem site also has valuable information to get you started on Arm.
We are excited to announce the availability of Arm Allinea Studio 18.4 with support for new Fortran directives, updated math routines, and performance improvements. Please get in touch to request a trial or buy a license. We plan to provide the next major release 19.0 in October 2018 with more features and improvements.
[CTAToken URL = "https://developer.arm.com/products/software-development-tools/hpc/arm-allinea-studio/download" target="_blank" text="Download Arm Allinea Studio 18.4" class ="green"]
Release historyMore about Arm HPC toolsMore about Arm HPC ecosystem