Skip to content

1.4.0

Compare
Choose a tag to compare
@haifengl haifengl released this 06 Aug 15:04
· 3354 commits to master since this release
  1. Add smile-netlib module that leverages native BLAS/LAPACK for matrix computation. See below for the details how to enable it.
  2. Add t-SNE implementation.
  3. Improve LLE and Laplacian Eigenmaps performance.
  4. Export DecisionTree and RegressionTree to Graphviz dot file for visualization.
  5. Smile shell is now based on Scala 2.12.
  6. Bug fixes.

To enable machine optimized matrix computation, the users should add
the dependency of smile-netlib:

    <dependency>
      <groupId>com.github.haifengl</groupId>
      <artifactId>smile-netlib</artifactId>
      <version>1.4.0</version>
    </dependency>

and also make their machine-optimised libblas3 (CBLAS) and liblapack3 (Fortran)
available as shared libraries at runtime.

OS X

Apple OS X requires no further setup as it ships with the veclib framework.

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.