Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Solving a sequence of systems with identical sparsity patterns ?

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

Thierry_LE_SOMMER__E

Beginner

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

09-17-2010
03:51 AM

51 Views

Solving a sequence of systems with identical sparsity patterns ?

I have to solve a sequence (iteration) of systems AX = B with multiple RHS.

At each iteration, X and B do not change and A changes but retains its sparsity patterns.

So I think I can use iparm

B

iparm[3]=0;

phase=13;

pardiso(...);

iparm[3]=62;

phase=23;

pardiso(...);

iparm[3]=62;

phase=23;

pardiso(...);

I never release memory (phase=0 or -1) between iterations.

Is it the correct way to solve my problem ?

Thierry

Link Copied

6 Replies

Gennady_F_Intel

Moderator

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

09-17-2010
04:56 AM

51 Views

Thierry, please see this topic.

Thierry_LE_SOMMER__E

Beginner

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

09-17-2010
05:56 AM

51 Views

I read the topic and I found a start of answer but I found nothing about iparm[3]

In my case, I have one matrix and therefore one memory address pointer PT.

Thierry_LE_SOMMER__E

Beginner

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

09-17-2010
06:51 AM

51 Views

What I do is correct but with iparm[3]=62 i see no speed up

I set iparm[3]=32 and now the speed up is there.

Sergey_Solovev__Inte

New Contributor I

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

09-20-2010
02:18 AM

51 Views

What matrix type do you use?

If A changes and scaling and matching are used (iparm(11) and iparm(13)), so you should rerun phase 11.

Thierry_LE_SOMMER__E

Beginner

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

09-20-2010
02:30 AM

51 Views

mtype = -2;

iparm[0] = 1;

iparm[1] = 2;

iparm[2] = 4;

iparm[3] = 32; //0 for the first iteration

iparm[59] = 1;

iparm[10] and iparm[12] are set to 0

It works fine with that

Sergey_P_Intel2

Employee

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

09-21-2010
08:50 PM

51 Views

In the MKL documentation the description of the corresponding iparm(4) parameter contains the following lines:

" ... iparm(4) has the form iparm(4)= 10*L+K. ... The value L controls the stopping criterion of the Krylow-Subspace iteration: epsCGS = 10^-L is used in the stopping criterion...".

So for iparm[3] = 32 the value 10^-3 is used in the stopping criterion, while for iparm[3] = 62 the value 10^-6 is used which requires (significantly) more iterations than for stopping criterion 10^-3. I think that the reason ofthe described problem is in more strict conditions for iparm[3]=62 than for iparm[3]=32.

Regards,

Sergey

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