Intel® Math Kernel Library

Inner boundary condition setting for solving the Poisson equation

Dears, I need your help with the inner boundary condition setting.

For simplicity, we take a 2-D Poisson equation for example, which correspond to the “s_Poisson_2D_f.f90” in the MKL library.

Case A

In case A, it is clear that we can assign the following array to set the boundary condition.

 For example in s_Poisson_2D_f.f90

bd_ax(iy) = 1.0E0,

bd_bx(iy) = 1.0E0 ,

bd_ay(ix) = -2.0*pi*sin(2*pi*(ix-1)/nx),

bd_by(ix) =  2.0*pi*sin(2*pi*(ix-1)/nx)

Case B

warnings and remarks from MKL, what is the reason?

Dear all,

I am testing the MUMPS Fortran 90 interface for some simple block right hand side solution however I get a buch of warnings and remarks. These are all related to spblas, lapack, rci interfaces.

What could be the reason of these warnings and remarks? Attached file is an example of the output of the make process. You can examine the compile flags and direct me as necessary.

Best regards,


Problems while using PARDISO


I have a question about the PARDISO under Windows. I have written a fortran code which is to solve a very large sparse symmetric problem. And I used a subroutine to specify the parameters for PARDISO and solve the system. Following the demo given in the mkl folder, I included the mkl_pardiso.f90 file at the very beginning of the main program and also used the mkl_pardiso file. If I build the solution, it will give the following error message

matrix inverse FLOPS

Hi , 

What should be the required FLOPS for 16x16 MKL_Complex8 matrix inversion using cpotrf and than cpotri ?

How many CPU clocks it should take on ATOM E3826 CPU and I5-3470 CPU ?

Is there any performance difference using Linux 32bit operating system vs Linux 64bit operating system ? (for those specific CPUs)

Thanks , Nimrod


MKL from C

I am having trouble understanding C interface for MKL. In particular the const modifier. I need to use tridiagonal solver ?dtsvb which should have C interface:

void ddtsvb (const MKL_INT * n, const MKL_INT * nrhs, double * dl, double * d, const double * du, double * b, const MKL_INT * ldb, MKL_INT * info );

However, I have no idea what const MKL_INT * n stands for. Can someone provide a clear example of how the function ddtsvb is called?

Thank you.

fortran+fftw=nan (sometimes)



I run a fortran multithreaded code that uses ffts. I am now trying to switch to

fttw available thru mkl. When I insert the code below the  results more

often than not are nans or infinity even though only the plan call  is executed

and no actuall ffts are carried out using fftw. The standard suspect in such cases

would be out-of-bounds operations.  I cannot at the moment see any out-of-bounds

problems when creating the plan. But here there is still  the problem of the interface.


Subscribe to Intel® Math Kernel Library