Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
25 Views

Back-substitution of Pardiso not executing in parallel

All,

In an iterative algorithm I'm reusing the factorization of a symmetric indefinite matrix to solve for different right-hand sides. The back-substitution is performed in a loop with a single right-hand side being sent to pardiso at each time.

I'm using paridiso_64 and mkl 11.1u2.

I'm using vtune to perform a concurrency analysis of the application. The execution of the pardiso factorization step seems to be running efficiently in parallel, so I think I've linked the right mkl libraries. However the back substiution is not parallel. It seems pardiso spawns three openmp workers in my case, and only one is active for the back substitution stages.

I searched the forum and found a thread with a similar question, but I did not find an answer there. However it was mentioned that the back substitution is serial in certain situations. 

My iparm is non-default as follows:

            iparm[0] = 1; //use non-default values
            iparm[1] = 3; //parallel metis nested disection 
            iparm[26] = 0; //matrix checks
            iparm[7] = 2;
            iparm[9] = 8;
            iparm[10] = 1; //scaling
            iparm[12] = 1; //enable matching
            iparm[20] = 1; //pivoting

(Otherwise 0. Note the 0 indexing.)

Any suggestions?

 

Thanks!

Jens 

 

0 Kudos
4 Replies
Highlighted
25 Views

Hi,

Your version of MKL is quite old, could you check you testcase on new version of MKL. During last years performance and scaling of MKL Pardiso solving step have significantly improved

Thanks,

Alex 

0 Kudos
Highlighted
Beginner
25 Views

Okay, thanks.

Just to confirm: is back-substitution supposed to be parallel also when used for only a single right hand side?

Jens

0 Kudos
Highlighted
25 Views

Hi Jens,

Sure, solving steps of MKL pardiso parallelized for both one and many rhs.

Thanks,

Alex

0 Kudos
Highlighted
Beginner
25 Views

Thanks, I updated to 11.2 u2, and it works a lot better.

0 Kudos