Since Superlu is its own self-contained package you set its various options using the interfaces below, listed in the manual page for MATSOLVERSUPERLU
+ -mat_superlu_equil: <FALSE> Equil (None) . -mat_superlu_colperm <COLAMD> (choose one of) NATURAL MMD_ATA MMD_AT_PLUS_A COLAMD . -mat_superlu_iterrefine <NOREFINE> (choose one of) NOREFINE SINGLE DOUBLE EXTRA . -mat_superlu_symmetricmode: <FALSE> SymmetricMode (None) . -mat_superlu_diagpivotthresh <1>: DiagPivotThresh (None) . -mat_superlu_pivotgrowth: <FALSE> PivotGrowth (None) . -mat_superlu_conditionnumber: <FALSE> ConditionNumber (None) . -mat_superlu_rowperm <NOROWPERM> (choose one of) NOROWPERM LargeDiag . -mat_superlu_replacetinypivot: <FALSE> ReplaceTinyPivot (None) . -mat_superlu_printstat: <FALSE> PrintStat (None) . -mat_superlu_lwork <0>: size of work array in bytes used by factorization (None) . -mat_superlu_ilu_droptol <0>: ILU_DropTol (None) . -mat_superlu_ilu_filltol <0>: ILU_FillTol (None) . -mat_superlu_ilu_fillfactor <0>: ILU_FillFactor (None) . -mat_superlu_ilu_droprull <0>: ILU_DropRule (None) . -mat_superlu_ilu_norm <0>: ILU_Norm (None) - -mat_superlu_ilu_milu <0>: ILU_MILU (None) On Mar 25, 2011, at 10:16 AM, Longmin RAN wrote: > Hello again, > > I recompiled petsc using --with-debugging=0 but it doesn't improve the > situation much. What's more, when running the program with "-info", I > saw "Option SYMMETRIC ignored" and "Option SYMMETRY_ETERNAL ignored". > Why are these options ignored? For superlu to specify the symmetric > mode with MMD_AT_PLUS_A ordering will significantly shorten the > solution time. I didn't find corresponding ordering type in petsc. > > > Longmin > > On Thu, Mar 24, 2011 at 3:29 PM, Longmin RAN <longmin.ran at gmail.com> wrote: >> Thanks for the tips, Barry. I didn't specify --with-debugging=0 during >> the configuration, I think this is the problem. I'll recompile petsc >> accordingly to check on this. >> >> >> Longmin >> >> On Thu, Mar 24, 2011 at 1:30 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: >>> >>> On Mar 24, 2011, at 5:26 AM, Longmin RAN wrote: >>> >>>> Hello everyone, >>>> >>>> >>>> I use superlu inside petsc to solve linear systems with symmetrical >>>> matrix. The solving time is at least twice longer than using superlu >>>> directly. >>> >>> How much of that time is in other parts of the code, not the actual >>> superlu solver? Run the PETSc version with -log_summary; the times given in >>> the lines >>> MatFactorSymbolic, MatFactorNumerical, MatSolve (or some similar names) are >>> the amount of time in Superlu. Compare those times to the superlu >>> standalone solution time. >>> >>> Did you ./configure PETSc with the option --with-debugging=0? >>> >>> Barry >>> >>> >>> >>>> Since I'm new with Petsc, I didn't fine-tune much the petsc >>>> solver, as I had done when using superlu directly. For example, in >>>> superlu there are options like diagonal pivot >>>> threshold(superlu_options_t.DiagPivotThresh), symmetric mode >>>> (superlu_options_t.SymmetricMode), and column >>>> permutation(superlu_options_t.ColPerm). Could anybody inform me about >>>> the corresponding options in petsc? Thanks in advance. >>>> >>>> BTW, I tried the following options: >>>> MatSetOption(A, MAT_SYMMETRIC, PETSC_TRUE); >>>> MatSetOption(A, MAT_SYMMETRY_ETERNAL, PETSC_TRUE); >>>> But it seems that these options weren't enough to reduce the solving >>>> time sufficiently. >>>> >>>> >>>> Best regards, >>>> >>>> - Longmin Ran >>> >>> >>
