Questions tagged [intel-mkl]

Intel MKL (Math Kernel Library) is a high performance math library specifically optimised for Intel processors. Its core functions include BLAS and LAPACK linear algebra routines, fast Fourier transforms and vector math functions amongst others.

Intel MKL (Math Kernel Library) is a high performance math library specifically optimised for Intel processors and explicitly parallelised with a version specifically available for High End Supercomputer clusters. Its core functions include BLAS and LAPACK linear algebra routines, fast Fourier transforms and vector math functions amongst others.

Intel MKL only supports Intel and compatible processors and is available for Windows, Linux and OS X as part of Intel® Parallel Studio and Intel® System Studio. There are free versions available for Students and Academic researchers at qualifying institutions.

The Intel® Math Kernel Library includes the following groups of routines:

  • Basic Linear Algebra Subprograms (BLAS):
    • vector operations
    • matrix-vector operations
    • matrix-matrix operations
  • Sparse BLAS Level 1, 2, and 3 (basic operations on sparse vectors and matrices)
  • LAPACK routines for solving systems of linear equations
  • LAPACK routines for solving least squares problems, eigenvalue and singular value problems, and Sylvester's equations
  • Auxiliary, utility, and test LAPACK routines
  • ScaLAPACK computational, driver and auxiliary routines (only in Intel MKL for Linux* and Windows* operating systems)
  • PBLAS routines for distributed vector, matrix-vector, and matrix-matrix operation
  • Direct and Iterative Sparse Solver routines, including a solver based on the PARDISO* sparse solver and the Intel MKL Parallel Direct Sparse Solver for Clusters
  • Direct Sparse Solver (DSS)
  • Extended Eigensolver routines for solving symmetric standard or generalized symmetric definite eigenvalue problems using the Feast algorithm
  • Vector Mathematical Library (VML) functions for computing core mathematical functions on vector arguments (with Fortran and C interfaces)
  • Vector Statistical Library (VSL) functions for generating vectors of pseudorandom numbers with different types of statistical distributions and for performing convolution and correlation computations
  • General Fast Fourier Transform (FFT) Functions, providing fast computation of Discrete Fourier Transform via the FFT algorithms and having Fortran and C interfaces
  • Cluster FFT functions (only in Intel MKL for Linux* and Windows* operating systems)
  • Tools for solving partial differential equations - trigonometric transform routines and Poisson solver
  • Optimization Solver routines for solving nonlinear least squares problems through the Trust-Region (TR) algorithms and computing Jacobi matrix by central differences
  • Basic Linear Algebra Communication Subprograms (BLACS) that are used to support a linear algebra oriented message passing interface
  • Data Fitting functions for spline-based approximation of functions, derivatives and integrals of functions, and search
798 questions
4
votes
0 answers

Can I use MKL and FFTW in the same program?

I'm currently writing a program that requires both MKL and FFTW. The FFTW plan function I need is "fftw_plan_r2r_2d," which according the material I found, is not yet available in MKL, and the wrapper from MKL will always return a NULL pointer. This…
Roger Lee
  • 78
  • 5
4
votes
3 answers

MKL Accelerated Math Libraries for Java

I've looked at the related threads on StackOverflow and Googled with not much luck. I'm also very new to Java (I'm coming from a C# and .NET background) so please bear with me. There is so much available in the Java world it's pretty…
Kaopua
  • 41
  • 3
4
votes
2 answers

Rewriting Matlab eig(A,B) (Generalized eigenvalues/eigenvectors) to C/C++

Do anyone have any idea how can I rewrite eig(A,B) from Matlab used to calculate generalized eigenvector/eigenvalues? I've been struggling with this problem lately. So far: Matlab definition of eig function I need: [V,D] = eig(A,B) produces a…
F1sher
  • 7,140
  • 11
  • 48
  • 85
4
votes
1 answer

Unexpected result with cblas_dgemv

I have a question regarding cblas_dgemv. I am trying to understand how it works. And what I am possibly doing wrong. I have an array Matrix and then I try to read that matrix RowMajor and ColumnMajor. I am getting the expected result in the RowMajor…
optimcode
  • 332
  • 2
  • 12
4
votes
1 answer

Link MKL to an installed Numpy in Anaconda?

>>> numpy.__config__.show() atlas_threads_info: NOT AVAILABLE blas_opt_info: libraries = ['f77blas', 'cblas', 'atlas'] library_dirs = ['/home/admin/anaconda/lib'] define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')] language =…
Issac
  • 311
  • 1
  • 5
  • 10
4
votes
1 answer

3D Convolution with Intel MKL

I have written a C/C++ code which uses Intel MKL to compute the 3D convolution of an array which has about 300×200×200 elements. I want to apply a kernel which is either 3×3×3 or 5×5×5. Both the 3D input array and the kernel have real values. This…
afp_2008
  • 1,940
  • 1
  • 19
  • 46
4
votes
0 answers

Compiled numpy with ICC+MKL, not passing the full test

I am using Intel C++ Compiler and Intel MKL to compile numpy 1.8.1 on Debian 7.5. The Intel stuff are from Intel® Parallel Studio XE 2013 SP1 for Linux Update 3. The site.cfg is roughly the same as in the Intel tutorial, which…
Ziyuan
  • 4,215
  • 6
  • 48
  • 77
4
votes
1 answer

Do I need to use mkl_malloc for a Intel_mkl program?

I'm learning to write program with Intel mkl, in the sample codes 'mkl_malloc' and 'mkl_free' are used, and I tried to replace them with 'malloc' and 'free', the program still worked. So, do I need to use the mkl's version?
cloudygoose
  • 608
  • 1
  • 6
  • 16
4
votes
1 answer

Failed to link math library with intel mkl using g++

I tried to compile with intel mkl 11.1 using g++: g++ -m32 test.c -lmkl_intel -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm The error says: /opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/ia32/libmkl_core.so: undefined reference to…
cloudygoose
  • 608
  • 1
  • 6
  • 16
4
votes
1 answer

MKL ScaLapack problems

I am trying to run a simple Hello World (MKL) ScaLapack example from http://acts.nersc.gov/scalapack/hands-on/etc/pddttrdrv/pddttrdrv.c.html but I stumbled on a problem (I am using MPICH2 and my OS is Windows). When I run the code with the MPI flags…
user3371583
  • 191
  • 9
4
votes
1 answer

BLACS context value and multiple MPI communicators

I am trying to make some tests with BLACS/Scalapack (C interface, Intel MKL version) making use multiple MPI communicators: particularly, what I am trying to obtain is a set of BLACS contexts/grids corresponding (one-to-one) to a set of (disjoint)…
4
votes
0 answers

How to install CVXOPT with Enthought python (Canopy)

Before I start, let me put alternative titles for this post: How to compile CVXOPT with Intel MKL ? How to change __init__.py in CVXOPT to compile with Intel MKL ? Let me explain the issue. I am trying to install pystruct with Enthought python…
kayhan
  • 373
  • 3
  • 11
4
votes
1 answer

compare NumPy vs. NumPy+MKL performance

So, I compiled NumPy from source, linking to MKL. Now I want to compare NumPy's performance with and without MKL. Is there any way I can "tell" NumPy not to use MKL, so I can produce the benchmarks? For instance, with numExpr we can do…
Parzival
  • 2,004
  • 4
  • 33
  • 47
4
votes
2 answers

How to link Intel MKL library, just cblas_dgemm function is used

I want to test Intel MKL matrix multiplication, So I include and I just use the cblas_dgemm function, but it always says undefined reference to `cblas_dgemm' I also link the -lmkl_core -lmkl_blas95_lp64 -lmkl_lapack95_lp64, But I have testes…
mining
  • 3,557
  • 5
  • 39
  • 66
4
votes
1 answer

Compute the eigenvectors in lapack using predetermined eigenvalues?

I have a rather unusual challenge for lapack, and I have spent hours searching for a solution to it. I have a generalized eigenvalue problem of the traditional form (A - x B = 0). Normally I would use for instance ?hegvx or ?hegvd to calculate the…
Smidstrup
  • 81
  • 2
  • 10