The BLAS and LAPACK libraries are time-honored standards for solving a large variety of linear algebra problems. The Intel® Math Kernel Library (Intel® MKL) contains an implementation of BLAS and LAPACK that is highly optimized for Intel® processors. Intel MKL can enable you to achieve significant performance improvements over alternative implementations of BLAS and LAPACK.
BLAS
Basic Linear Algebra Subprograms (BLAS) provide the basic vector and matrix operations underlying many linear algebra problems. Intel MKL BLAS support includes:
- BLAS Level 1 - vector-vector operations
- BLAS Level 2 - vector-matrix operations
- BLAS Level 3 - matrix-matrix operations
- Sparse BLAS - an extension of BLAS Levels 1, 2, and 3
Multiple matrix storage schemes (Full, Packed, Banded) are provided for BLAS levels 2 and 3.
All BLAS functions within Intel MKL are thread-safe. Gain the performance enhancements of multiprocessing without altering your application using parallelized (threaded) BLAS routines from Intel MKL.
Sparse BLAS
Achieve large savings in computer time and memory with sparse BLAS routines that have been carefully optimized for data sparcity. Sparse BLAS includes a set of functions that perform common vector and matrix operations on sparse data (data where the majority of elements are zero). Sparse BLAS coverage includes selected Level 1, 2, and 3 BLAS routines for double-precision real functions. Sparse BLAS are often used in conjunction with sparse solvers.Intel MKL supports both NIST* and SparseKit* style interfaces.
The following Matrix Types and Data Storage Formats are supported:
| Matrix Types | | Data Storage Formats |
| General | | Compressed Sparse Row (CSR) |
| Symmetric | | Compressed Sparse Column (CSC) |
| Triangular | | Block Sparse Row (BSR) |
| Diagonal | | Diagonal (DIA) |
| Skew-symmetric | | Coordinate (COO) |
| | Skyline |
LAPACK
Intel MKL includes Linear Algebra Package (LAPACK) routines that are used for solving:
- Linear equations
- Eigenvalue problems
- Least squares problems
- Singular value problems
LAPACK routines support both real and complex data. Routines are supported for systems of equations with the following types of matrices: general, banded, symmetric or Hermitian, triangular, and tridiagonal. The LAPACK routines within Intel MKL provide multiple matrix storage schemes. LAPACK routines are available with a Fortran interface.
Double-precision general matrix-matrix multiply (DGEMM) is the workhorse routine for dense linear algebra. The charts below compare DGEMM performance of Intel MKL 8.0 to ATLAS* (Automatically Tuned Linear Algebra Software). ATLAS is a popular linear algebra software package that includes the complete BLAS API and a small subset of the LAPACK API. More information on ATLAS is available at
http://math-atlas.sourceforge.net/.*
Intel MKL has been optimized for performance and tuned to provide excellent scaling for multiple threads. The performance benefits of using Intel MKL on today’s dual and quad-core processors can be 2-5 times that of alternatives. The charts below show the following:
1. Intel MKL can provide significant performance benefit over ATLAS*.
2. The multiple processor/threading performance scaling of Intel MKL BLAS is impressive.
 Click to enlarge
 Click to enlarge
These charts show both the impressive scaling of Intel MKL DGEMM when using multiple threads as well as the performance advantage over ATLAS that can be obtained.
|
The BLAS and LAPACK functionality included in Intel MKL is highly optimized for Intel processors and can significantly increase the performance of your application compared to alternative implementations of BLAS and LAPACK.
§ Performance tests and ratings are measured using specific computer systems and/or components and reflect the appropriate performance of Intel products as measured by those tests. Any difference in system design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, go to
http://www.intel.com/software/products/