This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Free Arm Performance Libraries - Compatibility with Cortex-A72

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