[petsc-users] Re-configuring PETSc

Smith, Barry F. bsmith at mcs.anl.gov
Mon May 28 11:32:24 CDT 2018



> On May 28, 2018, at 10:32 AM, Najeeb Ahmad <nahmad16 at ku.edu.tr> wrote:
> 
> Thanks a lot Satish for your prompt reply.
> 
> I just checked that SuperLU_dist package works only for matrices of type aij. and uses lu preconditioner. I am currently working with baij matrix. What is the best preconditioner choice for baij matrices on parallel machines?

    The best preconditioner is always problem specific. Where does your problem come from? CFD? Structural mechanics? other apps?

     Anyways you probably want to make your code be able to switch between AIJ and BAIJ at run time since the different formats support somewhat different solvers. If your code alls MatSetFromOptions then you can switch via the command line option -mat_type aij or baij  

   Barry

> 
> Thanks
> 
> On Mon, May 28, 2018 at 8:23 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> On Mon, 28 May 2018, Najeeb Ahmad wrote:
> 
> > Hi All,
> > 
> > I have Petsc release version 3.9.2 configured with the following options:
> > 
> > Configure options --with-cc=mpiicc --with-cxx=mpiicpc --with-fc=mpiifort
> > --download-fblaslapack=1
> > 
> > Now I want to use PCILU in my code and when I set the PC type to PCILU in
> > the code, I get the following error:
> > 
> > [0]PETSC ERROR: --------------------- Error Message
> > --------------------------------------------------------------
> > [0]PETSC ERROR: See
> > http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html for
> > possible LU and Cholesky solvers
> > [0]PETSC ERROR: Could not locate a solver package. Perhaps you must
> > ./configure with --download-<package>
> > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for
> > trouble shooting.
> > [0]PETSC ERROR: Petsc Release Version 3.9.2, unknown
> > [0]PETSC ERROR: ./main on a arch-linux2-c-debug named Karachi by nahmad Mon
> > May 28 17:52:41 2018
> > [0]PETSC ERROR: Configure options --with-cc=mpiicc --with-cxx=mpiicpc
> > --with-fc=mpiifort --download-fblaslapack=1
> > [0]PETSC ERROR: #1 MatGetFactor() line 4318 in
> > /home/nahmad/PETSc/petsc/src/mat/interface/matrix.c
> > [0]PETSC ERROR: #2 PCSetUp_ILU() line 142 in
> > /home/nahmad/PETSc/petsc/src/ksp/pc/impls/factor/ilu/ilu.c
> > [0]PETSC ERROR: #3 PCSetUp() line 923 in
> > /home/nahmad/PETSc/petsc/src/ksp/pc/interface/precon.c
> > [0]PETSC ERROR: #4 KSPSetUp() line 381 in
> > /home/nahmad/PETSc/petsc/src/ksp/ksp/interface/itfunc.c
> > [0]PETSC ERROR: #5 KSPSolve() line 612 in
> > /home/nahmad/PETSc/petsc/src/ksp/ksp/interface/itfunc.c
> > [0]PETSC ERROR: #6 SolveSystem() line 60 in
> > /home/nahmad/Aramco/petsc/petsc/BlockSolveTest/src/main.c
> > 
> > 
> > I assume that I am missing LU package like SuperLU_dist for instance and I
> > need to download and configure it with Petsc.
> 
> yes - petsc has sequential LU - but you need superlu_dist/mumps for parallel lu.
> 
> > 
> > I am wondering what is the best way to reconfigure Petsc to download and
> > use the appropriate package to support PCILU?
> 
> Rerun configure with the additional option --download-superlu_dist=1.
> 
> You can do this with current PETSC_ARCH you are using [i.e reinstall
> over the current build] - or use a different PETSC_ARCH - so both
> builds exist and useable.
> 
> Satish
> 
> > 
> > You advice is highly appreciated.
> > 
> > 
> 
> 
> 
> 
> -- 
> Najeeb Ahmad
> 
> Research and Teaching Assistant
> PARallel and MultiCORE Computing Laboratory (ParCoreLab) 
> Computer Science and Engineering
> Koç University, Istanbul, Turkey
> 



More information about the petsc-users mailing list