Intel® Math Kernel Library

Mersenne Twister


I have two questions:

a) In the Mersenne sample code in Matsumoto's page (, there are 3 variants for creating a double (64 bit) which he calls : genrand64_real{1,2,3}.

I need to make a comparison with some other implementation and would like to know which one is used in mkl?

question about some parameter of scalapack routine

I have some questions about the use of scalapack. 


For example, I want to use the eigensolver pdsyev to obtain all the eigenvalues and eigenvectors.

By now, I can hardly understand the dimensions of parameter a (and also z). In the MKL manual, the dimensions of local matrix a should be "lld_a*LOCc(ja+n-1)", but I do not understand what is LOCc(ja+n-1). 

ja is the column index in the global matrix A indicating the first column of the submatrix a, and n is the number of the column of global matrix A. 

IBM Benchmark gets too slow from 16 MPI processes

Hi, folks

I am performing Intel MPI's IMB Benchmark to test the connectivity & bandwidth of my cluster server (CentOS 6.4, Mellanox Infiniband)

CMD: $ mpiexec.hydra -genv I_MPI_DEBUG 5 -genv I_MPI_FABIRCS dapl -machinefile machines -ppn 1 -n (# of Procs) IMB-RMA

When (# of Procs) is from 2~15, it shows the best performance almost up-to hardware's limitation.

However when I tested with (# of Procs) set as 16, the performance drops to x3000 slower !!!

Even though I change the topology of the MPI processed, the problem remains.

Memory requirement of SVD drivers

I tried dgedd routines from

My matrix is 100K by 30K, about 24 GB in size. I am using MKL 11.3 on a windows server with about 300 GB memory. The routines failed with error message "Not enough memory to allocate work array".

On my desktop with 32 GB memory I am able to perform SVD of 100K by 13K matrix. In my case work array size should scales quadratically with number of colomns, so going from 13K to 30K should be possible.

modifying the pardiso solver's sparse factorization

I am attempting to implement this algorithm for efficiently computing the solution to a sparse linear system of equations when small changes are made to the input matrix A by updating only the matrix L in the LDLT factorization of A.  However, from what I have seen there is no documentation about accessing L and D in the pardiso solver.  Ideally, my code would look roughly like this:

1. run solver on matrix A with phase 13

bug in ZGETRF thread spawning?

A week ago I noticed that my code is running at about 50% of the expected speed, and upon closer inspection I found that ZGETRF spawns significantly more threads than intended when called inside a nested region, I can't for sure say whether this is what gives me about half the performance I would expect, but something is definitely off. 

Problem with upgrade from MKL 10 to 2013

What I used Visual Studio 2010 with MKL 2013 installed to upgrade a complex C#/Fortran solution  from Visual Studio 2008/Intel fortran 10.  When I build the project, I get an error linking the Fortran DLL.   The error is LNK2019: unresolved external symbol _MKL_FREEBUFFERS referenced in function _RUN_CTRL.

What can I do to resolve this error?

Basic question regarding matrix inversion vs solver

Dear all,

Given a matrix A, I need to calculate element (1,1) of its inverse... i.e. if B = inv(A), i need B(1,1), and not the entire matrix B.

Hence, doing a complete inversion of matrix A seems a bit excessive... Does mkl contain any smart solver-based routines i might use...?

My first impression is to use

call getrf(A,i)
call getrs(A,I)

where I = [1,0,0,...], to get the first column of B...






Intel® Math Kernel Library abonnieren