Need help for using mkl scalapack library

Need help for using mkl scalapack library

Hi all,

I'm new to scalapack library  and  have a few stupid questions for using them.

1. I need to solve one large sparse,  symmetric linear system, but the matrix isn't banded nor tridiagonal,

then, which subroutine offiers better performance?  p?gesv or p?posv ?

2. As the global matrix need to be distributed over the processes, then how do I know whether the processes

are in a 1d or 2d grid?  and which part of the global matrix need to be distributed to which process?

Before using mkl_scalapack, my code is already parallel (using MPI), I'm not sure whether this will affect the process management

of the mkl_scalapack subroutines?

Thanks very much!


3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

How does the sparse matrix stored in the code: is it in some sparse format ( for example, BSR, CSR, or others), or is it just in the dense format?  Both p?gesv and p?posv are for the dense matrix. MKL have sparse solver for the single node, no cluster version of sparse solver.

For dense matrix usage on Scalapck, there are a few examples, there sample code may help to get started:


Hi Chao,

I got your point. I went through part  of the MKL manual and  I will try to use the Pardiso sparse solver. 

Thanks very much.


Leave a Comment

Please sign in to add a comment. Not a member? Join today