Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- First solve with dense right hand side and following solve with sparse rhs

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

Hailong_X_

Beginner

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

04-29-2013
07:28 PM

51 Views

First solve with dense right hand side and following solve with sparse rhs

Dear All

I am trying to using pardiso (sparse direct solver) as my subdomain (substructure) solver in my domain decomposition application.

The first solve with dense right hand side (rhs) coming from source terms and boundary conditions.

The following sloves using the factorized sparse matrices with sparse right hand side only assotiated with boundary conditions.

With pardiso, the first solve I set IPARM(31) = 0 and PERM(i)=0 with phase = 13.

The following solves, I set IPARM(31) = 1, and only some PERM(i) = 1.

It seems like the entries b( m ) affected my solution even if PERM(m) =0 when phase = 33.

Here are my questions.

1. Is PERM usefull for function pardiso( ) when phase = 33 ?

2. Is there a better way to acheive my goal which is

the first solve (phase = 13) is with dense right hand side, but the following solves (phase = 33) using the factorized matrices with sparse right hand side ?

Hailong

Link Copied

3 Replies

Zhang_Z_Intel

Employee

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

04-30-2013
01:29 PM

51 Views

Hailong,

In the case of partial solver, PERM is used in all phases. But I'm not sure how it is used in the solve phase, and how it affects the solution vector. Let me check with our PARDISO engineer and get back to you later. Thanks.

Alexander_K_Intel2

Employee

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

05-02-2013
10:58 AM

51 Views

Hi Hailong,

According your question:

1. Am I correct that you use one reordering and factorization steps for your matrix and after change PERM array to achieve partial solution? It is incorrect using of partial solving algorithm because PARDISO need to have PERM array on reordering step. Please correct me, if I didn't understand you.

2. The one way to achieve you goal is the following:

iparm(31)=0

call pardiso(pt,ido=13,...)

call pardiso(pt,ido=-1)

iparm(31)=1

set perm

call pardiso(pt,ido=12,...)

loop call pardiso(pt,ido=33,...)

call pardiso(pt,ido=-1)

With best regards,

Alexander Kalinkin

Hailong_X_

Beginner

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

05-02-2013
12:00 PM

51 Views

Hi Alexander

Thanks for your suggestion. Your understanding is correct.

But my goal is just factorize the matrices once. Because it is the most expensive part of the code.

My goal to be more specific is that one reordering and one factorization for the whole problem.

The first solve is with all the entries of the right hand side (rhs) b. But the rest of the solves are the patial solves.

Do you have any suggestion to do that?

Hailong

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

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