Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- MKL Pardiso sparse right hand sides

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted

Hongzhu_C_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-05-2017
02:37 AM

26 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.

Accepted Solutions

Highlighted

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-05-2017
07:43 AM

26 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

1 Reply

Highlighted

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-05-2017
07:43 AM

27 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

For more complete information about compiler optimizations, see our Optimization Notice.