NETLIB-JAVA AArch64 Natives Support



netlib-java is a wrapper for low-level BLASLAPACK and ARPACK that performs as fast as the C / Fortran interfaces with a pure JVM fallback. netlib-java is included with recent versions of Apache Spark.

For more details on high performance linear algebra on the JVM, please watch fommil's talk at Scala eXchange 2014 (follow along with high-res slides).


Build netlib-java on Hisilicon Ubuntu

Getting netlib-java

$ git clone

Modify Config file

$ cd netlib-java
$ find . -type f -name "pom.xml" -exec sed -i 's/1.2-SNAPSHOT/1.1.2/g' {} +
It means that snapshot version does not support to build instead of using stable versiion.
$ git status 

modified:   all/pom.xml
modified:   core/pom.xml
modified:   generator/pom.xml
modified:   legacy/pom.xml
modified:   native_ref/java/pom.xml
modified:   native_ref/osx-x86_64/pom.xml
modified:   native_ref/pom.xml
modified:   native_ref/win-i686/pom.xml
modified:   native_ref/win-x86_64/pom.xml
modified:   native_ref/xbuilds/linux-armhf/pom.xml
modified:   native_ref/xbuilds/linux-i686/pom.xml
modified:   native_ref/xbuilds/linux-ppc64le/pom.xml
modified:   native_ref/xbuilds/linux-x86_64/pom.xml
modified:   native_ref/xbuilds/pom.xml
modified:   native_system/java/pom.xml
modified:   native_system/osx-x86_64/pom.xml
modified:   native_system/pom.xml
modified:   native_system/win-i686/pom.xml
modified:   native_system/win-x86_64/pom.xml
modified:   native_system/xbuilds/linux-armhf/pom.xml
modified:   native_system/xbuilds/linux-i686/pom.xml
modified:   native_system/xbuilds/linux-ppc64le/pom.xml
modified:   native_system/xbuilds/linux-x86_64/pom.xml
modified:   native_system/xbuilds/pom.xml
modified:   perf/pom.xml
modified:   pom.xml

Build using maven

$ mvn clean install

Support for linux AArch64 natives

pull request





This is the support for Linux AArch64 natives. It also introduces maven profiles for AArch64 build convenience just like pull requsets#111 do .

This does not effect on higher level config and the default build process remains unchanged.

It will automatically build artifacts only for the specific platform, which is based on the host architecture such as AArch64, ppcle64, x86_64, etc.

My Hardware Environments: Cavium ThunderX and Hisilicon Taishan ( AArch64 server) ,
OS name: "linux", version: "4.4.0-15-generic", arch: "aarch64", family: "unix"