BLAS (Basic Linear Algebra Subprograms)
It is a specification that prescribes a set of low-level routines for performing common linear algebra operations.There are a lot of implements of BLAS:
- Accelerate : Apple's framework for Mac OS X and iOS, which includes tuned versions of BLAS
- ACML : The AMD Core Math Library, supporting the AMD Athlon and Opteron CPUs under Linux and Windows.
- ATLAS : Automatically Tuned Linear Algebra Software, an open source implementation of BLAS APIs for C and Fortran.
- BLIS : BLAS-like Library Instantiation Software framework for rapid instantiation.
- cuBLAS : Optimized BLAS for NVIDIA based GPU cards.
- clBLAS : An OpenCL implemenation of BLAS.
- Intel MKL : The Intel Math Kernel Library, supporting x86 32-bits and 64-bits. Includes optimizations for Intel Pentium, Core and Intel Xeon CPUs and Intel Xeon Phi; support for Linux, Windows and Mac OS X.
- etc..
MKL installation
Step1: Go to the bellow links and register for Parallel Studio XE Cluster Edition. You will receive an email containing install and download instructions.https://software.intel.com/en-us/intel-education-offerings
Step2:
$ tar zxvf parallel_studio_xe_2015_update3.tgz
$ chmod a+x parallel_studio_xe_2015_update3 -R
$ cd parallel_studio_xe_2015_update3
$ sudo ./install_GUI.sh
And then enter the serial keys as follow figure
Step3:
Extend default lib search path for MKL in ubuntu. Do not need to export LD_LIBRARY_PATH
Create intel_mkl.conf, and edit it.
$ cd /etc/ld.so.conf.d
$ sudo vi intel_mkl.conf
Paste the bellows:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
$ sudo ldconfig -v
The faster way to setup MKL:
Download MKL libraray from
https://drive.google.com/file/d/0Bz2RXKLpvFgITU16YUs1TmNGcDA/view?usp=sharing
$ tar -xf intel_mkl.tar
$ sudo mv intel_mkl /opt/intel
$ export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:/opt/intel/lib/intel64:$LD_LIBRARY_PATH
ATLAS installation
$ sudo apt-get install libatlas-base-devOpenBLAS installation
$ sudo apt-get install libopenblas-dev