For the problem sizes you describe with sparse matrices the PETSc built in 
one is competitive with the external solvers, sometimes faster, it is not worth 
using the external solvers for such small problems. The external solvers have 
much more elaborate implements of sparse factorizations and solve but those 
elaborations are for getting higher performance on large problems.
 
   For dense matrices PETSc uses the LAPACK solver which does fine at those 
sizes.

   Barry


> On Jun 12, 2020, at 12:33 PM, Qin Lu via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> 
> Thanks Matthew and Mark!
> 
> Qin
> 
> On Friday, June 12, 2020, 12:22:08 PM CDT, Mark Adams <mfad...@lbl.gov> wrote:
> 
> 
> 
> 
> On Fri, Jun 12, 2020 at 12:56 PM Qin Lu via petsc-users 
> <petsc-users@mcs.anl.gov <mailto:petsc-users@mcs.anl.gov>> wrote:
> Hello,
> 
> I plan to solve a small sparse linear equation system using the direct 
> solver, since the number of unknowns is small (less than 1000). Here I got a 
> few questions:
> 
> 1. Is there a general guide line on the size of the system that direct solver 
> is more efficient than iterative solver?
> 
> No. Direct solvers are about O(N^2) complexity and iteratives solvers can be 
> O(N) - O(N^inf)
>  
> 2. Is the native Petsc direct solver (using KSPPREONLY and PCLU) designed to 
> solve dense system or sparse system?
> 
> sparse.
>  
> 3. Is the native Petsc direct solver comparable to SuperLU and MUMPS in 
> performance? Do they use different algorithms?
> 
> PETSc's is only in serial and CPU. MUMPS and SuperLU are MPI parallel. 
> SuperLU runs on GPUs.
> 
> SuperLU and MUMPS have more optimizations, such that there is probably a 
> significant difference on some problems but it's hard to say in general. 
>  
> 
> Thanks in advance for your help.
> 
> Best Regards,
> Qin

Reply via email to