Turn on suggestions

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

Showing results for

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

Gerardo_G_

Beginner

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

07-15-2016
08:16 AM

44 Views

PARDISO Complex

Hi

I am currently working with PARDISO to solve an iterative process that uses complex numbers; the iterative process requires that the sparse matrix be factorized only once (i.e. phase 12). My concern is about the parameters that can make the routine as efficient and fast as possible. The sparse matrix is symmetric but I receive the zero-based CSC vectors for the full matrix, so I’m using mtype 13; I’m not really sure whether it would benefit me to convert the matrix to an upper triangular representation, considering that I would have to analyze the full CSC format and get the new vectors.

The parameters I’m using are (the rest are all zeros):

iparm[0] := 1; iparm[1] := 3; iparm[9] := 8; iparm[10] := 1; iparm[11] := 2; iparm[34] := 1;

I set iparm[11] := 2 because I get the CSC format and although the matrix should be symmetric, I just wanted to be sure everything is in its right place.The number of equations will vary between 20000 and 150000, which I’m aware is not a lot for a parallel sparse solver.

There is another thing that I have noticed and I’m not so sure about; when I run the PARDISO routine with 4 threads (my processor has 4 cores), I can see that the first CPU is working at full capacity and the others only show spikes (total processor load is about 21% most of the time), as if the first CPU is doing most of the work and the rest only help every now and then. Is this a normal behavior? To make everything clear, I’m using a custom made DLL that I compiled using the visual studio projects that are included with the MKL. Any help in this matter will be much appreciated.

Regards

Link Copied

3 Replies

Alexander_K_Intel2

Employee

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

07-20-2016
03:26 AM

44 Views

Hi,

From my point of view parameter looks nice. About performance issue - can i ask you to set msglvl to 1 and provide output here to see time spent on each step. The behaviour that you describe can take place for small system...

Thanks,

Alex

Gerardo_G_

Beginner

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

07-24-2016
07:00 AM

44 Views

Thanks for the help with the parameters. I'm using PARDISO within a DLL which is called by another program (like MATLAB) and most of the studies we carry out are quasi-static simulations, so there isn't just one iterative problem. I'll try to set the msglvl to 1 and see what I get when solving only one problem; don't know if the PARDISO messages will be forwarded to the console, considering it is buried in another DLL. Last time I checked this behavior I was solving a system with 22,000 variables but if I remember correctly, I've seen this behavior with systems of up to 100,000 variables.

Regards

Gerardo_G_

Beginner

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

07-26-2016
08:49 PM

44 Views

Hi

I made some new tests and collected the PARDISO output messages for three different systems. I have attached a summary and an individual file for each system, since it's an iterative algorithm you can see there are 4 different solve stages. There is one thing that does look strange; I'm explicitly defining the number of threads for PARDISO using * MKL_Set_Num_Threads_Local* and

Regards

Topic Options

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