Here is some explanation regarding the BLAS libs. As far as I know MXNet supports following libraries:
- MKL (MKL, MKLML, MKLDNN)
- Apple Accelerate
Currently there is some confusion about lapack - it checks only for a liblapack.so library regardless of what BLAS library is set and fails silently if it can not find it.
liblapack.so exists indeed for Atlas as a separate library and can be used with it. For OpenBLAS there is no separate lapack library, but the current build script can be tricked by making a symlink to the main library (some ubuntu installations already do that). Apple Accelerate does contain lapack functionality within the framework but the current build script will switch it off (since it’s looking for liblapack.so).
With MKL libraries it’s complicated.
MKL is a full library, containing all the functionality. It is free under community support licensing (https://software.intel.com/en-us/articles/free-mkl) but needs to be installed and downloaded manually.
MKLML is a subset of MKL. It contains smaller number of functions to reduce the size of the download and reduce the number of dynamic libraries user needs. It can be downloaded automatically by the cmake script, although currently it’s messed up with MKLDNN
MKLDNN is a separate open-source library and that can be built completely standalone. But it does support linking with MKLML or full MKL for additional performance. MKLDNN is part of MXNet as a git subrepo and can be built together with MXNet.
Getting lapack functionality with MKL is a challenging task and as of know I haven’t figured out the right way how to link it properly.
Use MKL (MKLML) as default on intel processors
You can use Accelerate on MAC’s (maybe the performance will be better)
OpenBLAS if you are cross compiling (RPi, Jetson) or on not intel chip (MKL might be better anyway though)
Atlas can be tried instead of OpenBLAS but I don’t know whether it has any advantages
The current build issues with cmake are being worked on and you can track the progress here: https://github.com/apache/incubator-mxnet/pull/11148