[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pc_factor_fill



Thank you Barry :o)

Waad

Barry Smith <bsmith@xxxxxxxxxxx> wrote:

  If you are using KSP then you should NEVER call MatGetInfo(), MatLUFactor....
just call the PCFactorSetFill(). If you are not using the KSP then
you need to declare a MatFactorInfo and fill it up the way you want.
Note that MatInfo is different from MatFactorInfo you need to set the value
in MatFactorInfo that you pass to the factorization routines.

Barry


On Nov 22, 2007, at 12:55 PM, Waad Subber wrote:

Thanks Barry

One more question please:

Should I get and set the fill factor  like this:

      call MatGetInfo(A,MAT_LOCAL,info,ierr)
      FACTFILL = info(MAT_INFO_fill_ratio_needed)
      call PCFactorSetFill(pc,FACTFILL,ierr)
      call ISSetPermutation(indexSet,IERR);CHKERRQ(IERR)
      call MatLUFactorSymbolic(A,indexSet,indexSet,FACTFILL,...
      call MatLUFactorNumeric(A,FACTFILL,factorMat,IERR)

Thanks

Waad

Barry Smith <bsmith@xxxxxxxxxxx> wrote:

  PCFactorSetFill() after calling KSPSetPC()

   Barry

  If you are using multiple different KSP's you might look at KSPSetOptionsPrefix()
to allow using command line options to set different values for different solvers.

On Nov 22, 2007, at 5:46 AM, Waad Subber wrote:

Hello PETSc Users,

I have a serial code to solve multiple matrices. I am using LU factorization. When I run the code  with the (-info) option, it gives me different values for (pc_factor_fill) depending on the input matrix. I am wondering if I can set these values for the (pc_factor_fill) inside the code instead of running it with runtime option, for it is one code with multiple inputs.

Thanks a lot

Waad


For Matrix No.1

[5] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0 needed 2.96
[5] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 2.96 or use
[5] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,2.96);
[5] MatLUFactorSymbolic_SeqAIJ(): for best performance.

For Matrix No.2

[9] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0 needed 2.42069
[9] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 2.42069 or use
[9] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,2.42069);
[9] MatLUFactorSymbolic_SeqAIJ(): for best performance.

For Matrix No. n

[8] MatLUFactorSymbolic_SeqAIJ(): Reallocs 3 Fill ratio:given 0 needed 1.87742
[8] MatLUFactorSymbolic_SeqAIJ(): Run with -pc_factor_fill 1.87742 or use
[8] MatLUFactorSymbolic_SeqAIJ(): PCFactorSetFill(pc,1.87742);
[8] MatLUFactorSymbolic_SeqAIJ(): for best performance.


Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now.




Be a better pen pal. Text or chat with friends inside Yahoo! Mail. See how.



Never miss a thing. Make Yahoo your homepage.