Intel® Math Kernel Library

Slow rectangular matrix transposition ?


I'm working with MKL on Gentoo. I have an "Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz" processor.

I'm trying to speed my inplace matrix transpositions and for that I thought that mkl_?imatcopy would be the solution. I have a very speedup on square matrix, but on rectangular matrix it is much worse than my naive "follow the cycles" implementation.

Here is the call:

mkl_dimatcopy('R', 'T', rows, cols, 1.0, matrix_ptr, rows, cols);

When I profiled the executable, most of the cycles were spent in



I am trying to solve a relatively large system (100.000 equations) using either Pardiso or CG.

The system matrix is sparse, symmetric and converted to CSR format. For the matrix-vector multiplication

I use mkl_dcsrsymv for the RCI requests. My question is why Pardiso is way faster than CG? 

Shouldn't it be the other way around?

on a quad-core intel xeon it takes around 1 sec for pardiso, while CG needs around 30 sec.

These are the parameters i used on pardiso:

Significant Overhead if threaded MKL is called from OpenMP parallel region


my aim is to diagonalize quadratic matrices with different sizes dxd in parallel. To this end I wrote a for  loop. In each iteration the aligned memory (dependent on the dimension d) is allocated with mkl_malloc(). The matrix is filled and afterwards dsyev is called to determine the optimal workspace size. Then I allocate the (aligned) workspace needed with mkl_malloc(), call dsyev once again to diagonalize the matrices and deallocate the memory that was used for the workspace and to store the matrix (using mkl_free()). 

Input error in Pardiso error_num= 15


I am a new user. When I try to compile my fortran code in Pardiso. I got some errors.

 *** Error in Pardiso < sequence_ido,parameters> error_num= 15

*** Input check: matrix_type_new 0 <out of bounds>

*** Input parameters: inconsistent error= 15 max_fac_store_in:1

     matrix_number_in: 1 matrix_type_in: 0

     ido_in                   : 33 neqns_in       : 10000

     ia<neqns_in+1>-1: 0 nb_in              : 1





Strange (and seemingly wrong) result from Pardiso

I obtained strange (and seemingly wrong) result from Pardiso. I used Pardiso to solve a very ill-conditioned complex linear system arising from a circuital analysis of a three-dimensional conducting structure. I have no error from the analysis and numerical factorization phases.

Data and results are reported in the attached document. For instance, the Pardiso parameters and log are reported in the table, for three cases (three frequencies of analysis). When not present, parameters have zero value.

QR factorization without pivoting


I'm trying to compute the solution of a singular square system using a QR factorization. When I'm using a QR factorization with pivoting (i.e. ?geqp3), everything works OK. However, I'm concerned about the cost of pivoting, and I'd rather use ?geqrf. The problem is that the computed vector is in this case not a solution of the original system, as shown in the code attached. Do you see what I'm doing wrong ? 

Also, could you comment on the performance of ?geqp3 vs. ?geqrf ?

Thank you.

A bug in vsldConvExec

I use 64-bit AMD Linux machine. When I run the test file (attached) I get wrong results with the current MKL 11.2 update 2:

EXAMPLE executing a convolution task
result: z[0]=1343342.8
result: z[1]=1333310.3
result: z[2]=1323248.1
result: z[3]=1313220.0
result: z[4]=1303165.3
result: z[5]=1293145.8
result: z[6]=1283102.6
result: z[7]=1273095.5
result: z[8]=1263067.9
result: z[9]=1253077.2
result: z[10]=1243069.1

But when I switch to MKL 11.1 update 2 I get the correct results:

Assine o Intel® Math Kernel Library