[petsc-users] Performance of mumps vs. Intel Pardiso

Faraz Hussain faraz_hussain at yahoo.com
Mon Jun 27 19:59:39 CDT 2016


Thanks for the quick response. Here are the log_summary for 24, 48 and 72 cpus:

24 cpus
======
MatSolve               1 1.0 1.8100e+00 1.0 0.00e+00 0.0 7.0e+02 7.4e+04 3.0e+00  0  0 68  3  9   0  0 68  3  9     0
MatCholFctrSym         1 1.0 4.6683e+01 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 5.0e+00  6  0  0  0 15   6  0  0  0 15     0
MatCholFctrNum         1 1.0 5.8129e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 78  0  0  0  0  78  0  0  0  0     0

48 cpus
======
MatSolve               1 1.0 1.4915e+00 1.0 0.00e+00 0.0 1.6e+03 3.3e+04 3.0e+00  0  0 68  3  9   0  0 68  3  9     0
MatCholFctrSym         1 1.0 5.3486e+01 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 5.0e+00  9  0  0  0 15   9  0  0  0 15     0
MatCholFctrNum         1 1.0 4.0803e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 71  0  0  0  0  71  0  0  0  0     0

72 cpus
======
MatSolve               1 1.0 7.7200e+00 1.1 0.00e+00 0.0 2.6e+03 2.0e+04 3.0e+00  1  0 68  2  9   1  0 68  2  9     0
MatCholFctrSym         1 1.0 1.8439e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 5.0e+00 29  0  0  0 15  29  0  0  0 15     0
MatCholFctrNum         1 1.0 3.3969e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 53  0  0  0  0  53  0  0  0  0     0

Does this look normal or is something off here? Regarding reordering algorithm of Pardiso. At this time I do not know much about that. I will do some research and see what I can learn. However,  I believe Mumps only has two options:

	-mat_mumps_icntl_29 	- ICNTL(29): parallel ordering 1 = ptscotch, 2 = parmetis

I have tried both and do not see any speed difference. Or are you referring to some other kind of reordering?


--------------------------------------------
On Mon, 6/27/16, Barry Smith <bsmith at mcs.anl.gov> wrote:

 Subject: Re: [petsc-users] Performance of mumps vs. Intel Pardiso
 To: "Faraz Hussain" <faraz_hussain at yahoo.com>
 Cc: "petsc-users at mcs.anl.gov" <petsc-users at mcs.anl.gov>
 Date: Monday, June 27, 2016, 5:50 PM
 
 
    These are the only lines that
 matter
 
 MatSolve       
              1 1.0 7.7200e+00 1.1 0.00e+00
 0.0 2.6e+03 2.0e+04 3.0e+00  1  0 68  2 
 9   1  0 68  2  9     0
 MatCholFctrSym         1 1.0
 1.8439e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 5.0e+00 29  0 
 0  0 15  29  0  0  0 15     0
 MatCholFctrNum         1 1.0
 3.3969e+02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00 53  0 
 0  0  0  53  0  0  0  0     0
 
 look at the log summary for 24
 and 48 processes. How are the symbolic and numeric parts
 scaling with the number of processes?
 
 Things that could affect the performance a lot.
 Is the symbolic factorization done in parallel? What
 reordering is used? If Pardiso is using a reordering that is
 better for this matrix and has (much) lower fill that could
 explain why it is so much faster.
 
  Perhaps correspond with the MUMPS developers
 on what MUMPS options might make it faster
 
   Barry
 
 
 > On Jun 27, 2016, at 5:39 PM, Faraz Hussain
 <faraz_hussain at yahoo.com>
 wrote:
 > 
 > I am
 struggling trying to understand why mumps is so much slower
 than Intel Pardiso solver for my simple test matrix (
 3million^2 sparse symmetrix matrix with ~1000 non-zero
 entries per line ).
 > 
 > My compute nodes have 24 cpus each. Intel
 Pardiso solves it in in 120 seconds using all 24 cpus of one
 node. With Mumps I get:
 > 
 > 24 cpus - 765 seconds
 >
 48 cpus - 401 seconds
 > 72 cpus - 344
 seconds
 > beyond 72 cpus no speed
 improvement.
 > 
 > I am attaching the -log_summary to see if
 there is something wrong in how I am solving the problem. I
 am really hoping mumps will be faster when using more cpus..
 Otherwise I will have to abort my exploration of
 mumps!<log_summary.o265103>


More information about the petsc-users mailing list