NETLIB-JAVA AArch64 Natives Support
What is NETLIB-JAVA
netlib-java
is a wrapper for low-level BLAS, LAPACK 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 https://github.com/fommil/netlib-java
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
$https://github.com/fommil/netlib-java/pull/113
Description
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"