Hi
Regarding the free Arm Performance Libraries...
"Arm Performance Libraries provides optimized standard core math libraries for high-performance computing applications on Arm processors. This free version of the libraries provides optimized libraries for Arm® Neoverse N1-based Armv8 AArch64 implementations that are compatible with various versions of GCC. You do not require a license for this version of the libraries."
Does the above mean the libraries work exclusively with Arm® Neoverse N1-based Armv8 AArch64 processors?
I've successfully built HPL Linpack with the free Arm Performance Libraries for Ubuntu 16.04+ with GCC-9.3 on my Raspberry Pi 4.
However, I get...
"mpirun noticed that process rank 0 with PID 0 on node node9 exited on signal 4 (Illegal instruction)."
I'm guessing the libraries use Armv8.2-A instructions, not implements on my Armv8-A Cortex-A72 cores? Or, maybe I've missed some compile/link options?
My HPL Make.armpl file references armpl as follows...
# ---------------------------------------------------------------------- # - Linear Algebra library (BLAS or VSIPL) ----------------------------- # ---------------------------------------------------------------------- # LAinc tells the C compiler where to find the Linear Algebra library # header files, LAlib is defined to be the name of the library to be # used. The variable LAdir is only used for defining LAinc and LAlib. # LAdir = /opt/arm/armpl_20.2_gcc-9.3 LAinc = LAlib = -L$(LAdir)/lib -larmpl -lgfortran -lamath -lm
And after I "export LD_LIBRARY_PATH=/opt/arm/armpl_20.2_gcc-9.3/lib" on a single node, all of the libraries are found, but during running with the illegal instruction.
Best wishes
John
Hi John,
At this stage the free version of Arm Performance Libraries is only compatible with Armv8.1 cores and beyond. As you note, the Cortex-A72 is Armv8.0, hence won't work.
The good news is that we have already identified this as a limitation to use-cases such as yours. As such, we intend that the next release will be compatible with all Armv8 cores.
Sorry for the inconvenience, and thanks for reporting!
Chris
Is there any time planning for that release? I mean, rpi4 with optimized libraries is a huge step for real time applications.
I've read here:
https://indico.math.cnrs.fr/event/4705/attachments/2362/2938/Arm_compilers_libraries.pdf
That:
Currently available are versions for:A72 Cavium ThunderX2 Generic AArch64
Or is referring this text to anything else?
Hi.
Yes, those slides had referred to the Arm Compiler for Linux product which includes the commercial compiler as well as Arm Performance Libraries. The free version of ArmPL is available from https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries
The latest version is 20.3, and does include support for all AArch64 CPUs.
Hope this helps.
Cortex A72 included?
Yes, Cortex-A72 is supported.
Great! Thanks!
Hi Chris
That is fabulous news!
Thank you