> On 17 Oct 2020, at 5:47 AM, Alexey Kozlov <alexey.v.kozlo...@nd.edu> wrote:
> 
> Thank you for your advice! My sparse matrix seems to be very stiff so I have 
> decided to concentrate on the direct solvers. I have very good results with 
> MUMPS. Due to a lack of time I haven’t got a good result with SuperLU_DIST 
> and haven’t compiled PETSc with Pastix yet but I have a feeling that MUMPS is 
> the best. I have run a sequential test case with built-in PETSc LU (-pc_type 
> lu -ksp_type preonly) and MUMPs (-pc_type lu -ksp_type preonly 
> -pc_factor_mat_solver_type mumps) with default settings and found that MUMPs 
> was about 50 times faster than the built-in LU and used about 3 times less 
> RAM. Do you have any idea why it could be?
> 
> My test case has about 100,000 complex equations with about 3,000,000 
> non-zeros. PETSc was compiled with the following options: ./configure 
> --with-blaslapack-dir=/opt/crc/i/intel/19.0/mkl --enable-g 
> --with-valgrind-dir=/opt/crc/v/valgrind/3.14/ompi --with-scalar-type=complex 
> --with-clanguage=c --with-openmp --with-debugging=0 COPTFLAGS='-mkl=parallel 
> -O2 -mavx -axCORE-AVX2 -no-prec-div -fp-model fast=2' 
> FOPTFLAGS='-mkl=parallel -O2 -mavx -axCORE-AVX2 -no-prec-div -fp-model 
> fast=2' CXXOPTFLAGS='-mkl=parallel -O2 -mavx -axCORE-AVX2 -no-prec-div 
> -fp-model fast=2' --download-superlu_dist --download-mumps 
> --download-scalapack --download-metis --download-cmake --download-parmetis 
> --download-ptscotch.
> 
> Running MUPMS in parallel using MPI also gave me a significant gain in 
> performance (about 10 times on a single cluster node).
> 
> Could you, please, advise me whether I can adjust some options for the direct 
> solvers to improve performance?

Your problem may be too small, but if you stick to full MUMPS, it may be worth 
playing around with the block low-rank (BLR) options.
Here are some references: 
http://mumps.enseeiht.fr/doc/Thesis_TheoMary.pdf#page=191 
<http://mumps.enseeiht.fr/doc/Thesis_TheoMary.pdf#page=191> 
http://mumps.enseeiht.fr/doc/ud_2017/Shantsev_Talk.pdf 
<http://mumps.enseeiht.fr/doc/ud_2017/Shantsev_Talk.pdf> 
The relevant options in PETSc are -mat_mumps_icntl_35, -mat_mumps_icntl_36, and 
-mat_mumps_cntl_7

Thanks,
Pierre

> Should I try MUMPS in OpenMP mode?
> 
> On Sat, Sep 19, 2020 at 7:40 AM Mark Adams <mfad...@lbl.gov 
> <mailto:mfad...@lbl.gov>> wrote:
> As Jed said high frequency is hard. AMG, as-is,  can be adapted 
> (https://link.springer.com/article/10.1007/s00466-006-0047-8 
> <https://link.springer.com/article/10.1007/s00466-006-0047-8>) with 
> parameters.
> AMG for convection: use richardson/sor and not chebyshev smoothers and in 
> smoothed aggregation (gamg) don't smooth (-pc_gamg_agg_nsmooths 0).
> Mark
> 
> On Sat, Sep 19, 2020 at 2:11 AM Alexey Kozlov <alexey.v.kozlo...@nd.edu 
> <mailto:alexey.v.kozlo...@nd.edu>> wrote:
> Thanks a lot! I'll check them out.
> 
> On Sat, Sep 19, 2020 at 1:41 AM Barry Smith <bsm...@petsc.dev 
> <mailto:bsm...@petsc.dev>> wrote:
> 
>   These are small enough that likely sparse direct solvers are the best use 
> of your time and for general efficiency. 
> 
>   PETSc supports 3 parallel direct solvers, SuperLU_DIST, MUMPs and Pastix. I 
> recommend configuring PETSc for all three of them and then comparing them for 
> problems of interest to you.
> 
>    --download-superlu_dist --download-mumps --download-pastix 
> --download-scalapack (used by MUMPS) --download-metis --download-parmetis 
> --download-ptscotch 
> 
>   Barry
> 
> 
>> On Sep 18, 2020, at 11:28 PM, Alexey Kozlov <alexey.v.kozlo...@nd.edu 
>> <mailto:alexey.v.kozlo...@nd.edu>> wrote:
>> 
>> Thanks for the tips! My matrix is complex and unsymmetric. My typical test 
>> case has of the order of one million equations. I use a 2nd-order 
>> finite-difference scheme with 19-point stencil, so my typical test case uses 
>> several GB of RAM.
>> 
>> On Fri, Sep 18, 2020 at 11:52 PM Jed Brown <j...@jedbrown.org 
>> <mailto:j...@jedbrown.org>> wrote:
>> Unfortunately, those are hard problems in which the "good" methods are 
>> technical and hard to make black-box.  There are "sweeping" methods that 
>> solve on 2D "slabs" with PML boundary conditions, H-matrix based methods, 
>> and fancy multigrid methods.  Attempting to solve with STRUMPACK is probably 
>> the easiest thing to try (--download-strumpack).
>> 
>> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATSOLVERSSTRUMPACK.html
>>  
>> <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATSOLVERSSTRUMPACK.html>
>> 
>> Is the matrix complex symmetric?
>> 
>> Note that you can use a direct solver (MUMPS, STRUMPACK, etc.) for a 3D 
>> problem like this if you have enough memory.  I'm assuming the memory or 
>> time is unacceptable and you want an iterative method with much lower setup 
>> costs.
>> 
>> Alexey Kozlov <alexey.v.kozlo...@nd.edu <mailto:alexey.v.kozlo...@nd.edu>> 
>> writes:
>> 
>> > Dear all,
>> >
>> > I am solving a convected wave equation in a frequency domain. This equation
>> > is a 3D Helmholtz equation with added first-order derivatives and mixed
>> > derivatives, and with complex coefficients. The discretized PDE results in
>> > a sparse linear system (about 10^6 equations) which is solved in PETSc. I
>> > am having difficulty with the code convergence at high frequency, skewed
>> > grid, and high Mach number. I suspect it may be due to the preconditioner I
>> > use. I am currently using the ILU preconditioner with the number of fill
>> > levels 2 or 3, and BCGS or GMRES solvers. I suspect the state of the art
>> > has evolved and there are better preconditioners for Helmholtz-like
>> > problems. Could you, please, advise me on a better preconditioner?
>> >
>> > Thanks,
>> > Alexey
>> >
>> > -- 
>> > Alexey V. Kozlov
>> >
>> > Research Scientist
>> > Department of Aerospace and Mechanical Engineering
>> > University of Notre Dame
>> >
>> > 117 Hessert Center
>> > Notre Dame, IN 46556-5684
>> > Phone: (574) 631-4335
>> > Fax: (574) 631-8355
>> > Email: akoz...@nd.edu <mailto:akoz...@nd.edu>
>> 
>> 
>> -- 
>> Alexey V. Kozlov
>> 
>> Research Scientist
>> Department of Aerospace and Mechanical Engineering
>> University of Notre Dame
>> 
>> 117 Hessert Center
>> Notre Dame, IN 46556-5684
>> Phone: (574) 631-4335
>> Fax: (574) 631-8355
>> Email: akoz...@nd.edu <mailto:akoz...@nd.edu>
> 
> 
> 
> -- 
> Alexey V. Kozlov
> 
> Research Scientist
> Department of Aerospace and Mechanical Engineering
> University of Notre Dame
> 
> 117 Hessert Center
> Notre Dame, IN 46556-5684
> Phone: (574) 631-4335
> Fax: (574) 631-8355
> Email: akoz...@nd.edu <mailto:akoz...@nd.edu>
> 
> 
> -- 
> Alexey V. Kozlov
> 
> Research Scientist
> Department of Aerospace and Mechanical Engineering
> University of Notre Dame
> 
> 117 Hessert Center
> Notre Dame, IN 46556-5684
> Phone: (574) 631-4335
> Fax: (574) 631-8355
> Email: akoz...@nd.edu <mailto:akoz...@nd.edu>

Reply via email to