MKL Pardiso sparse right hand sides

MKL Pardiso sparse right hand sides

I'm solving a sparse system of equation A*x=b

Matrix A is a sparse matrix for finite element. Say the size of A is 1 million by 1 million. It works fine if I have limited number of right hand sides (RHS). However, if the number of right hand sides increases. For example, we have 1000 RHS, allocate vector b requires a lot of memory. My RHS b is actually sparse vector. For each RHS, there are only several non-zero entries. I'm wondering is there any way to pass sparse RHS into pardiso?

Otherwise, what I can think is allocate sparse RHS before pass it to pardiso, divide the total RHS into groups and pass the RHS to pardiso by groups after convert it back to dense format.

Thanks for your suggestions.

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


Pardiso currently doesn't support handle of sparse rhs because solution is dense vector so in term of memory size benefit is small. So i recommend to choose 2nd variant that you suggested - to divide rhs on several chunks and solve them by one to one



Leave a Comment

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