Skip navigation links

Package smile.netlib

Matrix implementation based on low-level BLAS, LAPACK and ARPACK that performs as fast as the C / Fortran interfaces with a pure JVM fallback.

See: Description

Package smile.netlib Description

Matrix implementation based on low-level BLAS, LAPACK and ARPACK that performs as fast as the C / Fortran interfaces with a pure JVM fallback.

This module employs the highly efficient netlib-java library. To enable machine optimized natives in netlib-java, the users should make their machine-optimized libblas3 (CBLAS) and liblapack3 (Fortran) available as shared libraries at runtime.

OS X

Apple OS X requires no further setup because OS X ships with the veclib framework, boasting incredible CPU performance that is difficult to surpass.

Linux

Generically-tuned ATLAS and OpenBLAS are available with most distributions and must be enabled explicitly using the package-manager. For example,


 sudo apt-get install libatlas3-base libopenblas-base
 sudo update-alternatives --config libblas.so
 sudo update-alternatives --config libblas.so.3
 sudo update-alternatives --config liblapack.so
 sudo update-alternatives --config liblapack.so.3
 

However, these are only generic pre-tuned builds.

If you have an Intel MKL licence, you could also create symbolic links from libblas.so.3 and liblapack.so.3 to libmkl_rt.so or use Debian's alternatives system.

Windows

The native_system builds expect to find libblas3.dll and liblapack3.dll on the %PATH% (or current working directory). Besides vendor-supplied implementations, OpenBLAS provide generically tuned binaries, and it is possible to build ATLAS.

Customization

A specific implementation may be forced like so:


 -Dcom.github.fommil.netlib.BLAS=com.github.fommil.netlib.NativeRefBLAS
 -Dcom.github.fommil.netlib.LAPACK=com.github.fommil.netlib.NativeRefLAPACK
 -Dcom.github.fommil.netlib.ARPACK=com.github.fommil.netlib.NativeRefARPACK
 

A specific (non-standard) JNI binary may be forced like so:


 -Dcom.github.fommil.netlib.NativeSystemBLAS.natives=netlib-native_system-myos-myarch.so
 

To turn off natives altogether, add these to the JVM flags:


 -Dcom.github.fommil.netlib.BLAS=com.github.fommil.netlib.F2jBLAS
 -Dcom.github.fommil.netlib.LAPACK=com.github.fommil.netlib.F2jLAPACK
 -Dcom.github.fommil.netlib.ARPACK=com.github.fommil.netlib.F2jARPACK
 
Skip navigation links