Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL Pardiso sparse right hand sides

Hongzhu_C_
Beginner
304 Views

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.

0 Kudos
1 Solution
Alexander_K_Intel2
304 Views

Hi,

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

Thanks,

Alex 

View solution in original post

1 Reply
Alexander_K_Intel2
305 Views

Hi,

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

Thanks,

Alex 

Reply