[petsc-users] about speed
Xuan YU
xxy113 at psu.edu
Tue Jul 27 08:22:33 CDT 2010
On Jul 26, 2010, at 9:51 PM, Barry Smith wrote:
>
> 1) The function evaluations are taking a lot of time; the problem
> is not with the Jacobian differencing it is that each function
> evaluation needed by the differencing is slow
>
When I use cvode solve the same preoblem, function evaluations takes
41.42% of total time. And the total time consumption is much less than
Petsc.( 5.657seconds VS 2 minutes 33.726 seconds)
> 2) There are a huge number of SNESFunctionEvaluations, much much
> more then I would expect, like 10 per nonlinear solve.
>
What is the possible reason for this case?
> Barry
>
>
> On Jul 26, 2010, at 5:50 PM, Xuan YU wrote:
>
>>
>> On Jul 26, 2010, at 3:53 PM, Barry Smith wrote:
>>
>>>
>>> ./configure an optimized version of PETSc (that is with the ./
>>> configure flag of --with-debugging=0) and run with -log_summary to
>>> get a summary of where it is spending the time. This will give you
>>> a better idea of why it is taking so long.
>>
>> Does my log summary means the finite difference Jacobian
>> approximation is not good? Should I write analytic jacobian
>> function(that will be a huge amount of work)?
>>
>>
>>
>> <Picture 3.png>
>> <Picture 4.png>
>>
>>
>> <Picture 5.png>
>>>
>>> Barry
>>>
>>> On Jul 26, 2010, at 2:49 PM, Xuan YU wrote:
>>>
>>>> Hi,
>>>>
>>>> I am using TS solving a nonlinear problem. I created an
>>>> approximate data structure for Jacobian matrix to be used with
>>>> matcoloring, my MatFDColoringView is like this:
>>>> <Picture 1.png>
>>>>
>>>> But the speed of code is too slow than what I expected. Only 10
>>>> time step costs 11seconds!
>>>>
>>>> What's wrong with my code? How can I speed up?
>>>>
>>>> Thanks!
>>>>
>>>> This is the ts_view result.
>>>>
>>>> TS Object:
>>>> type: beuler
>>>> maximum steps=100
>>>> maximum time=10
>>>> total number of nonlinear solver iterations=186
>>>> total number of linear solver iterations=423
>>>> SNES Object:
>>>> type: ls
>>>> line search variant: SNESLineSearchCubic
>>>> alpha=0.0001, maxstep=1e+08, minlambda=1e-12
>>>> maximum iterations=50, maximum function evaluations=10000
>>>> tolerances: relative=1e-08, absolute=1e-50, solution=1e-08
>>>> total number of linear solver iterations=1
>>>> total number of function evaluations=19
>>>> KSP Object:
>>>> type: gmres
>>>> GMRES: restart=30, using Classical (unmodified) Gram-Schmidt
>>>> Orthogonalization with no iterative refinement
>>>> GMRES: happy breakdown tolerance 1e-30
>>>> maximum iterations=10000, initial guess is zero
>>>> tolerances: relative=1e-05, absolute=1e-50, divergence=10000
>>>> left preconditioning
>>>> using PRECONDITIONED norm type for convergence test
>>>> PC Object:
>>>> type: ilu
>>>> ILU: out-of-place factorization
>>>> 0 levels of fill
>>>> tolerance for zero pivot 1e-12
>>>> using diagonal shift to prevent zero pivot
>>>> matrix ordering: natural
>>>> factor fill ratio given 1, needed 1
>>>> Factored matrix follows:
>>>> Matrix Object:
>>>> type=seqaij, rows=1838, cols=1838
>>>> package used to perform factorization: petsc
>>>> total: nonzeros=8464, allocated nonzeros=8464
>>>> total number of mallocs used during MatSetValues calls =0
>>>> not using I-node routines
>>>> linear system matrix = precond matrix:
>>>> Matrix Object:
>>>> type=seqaij, rows=1838, cols=1838
>>>> total: nonzeros=8464, allocated nonzeros=9745
>>>> total number of mallocs used during MatSetValues calls =37
>>>> not using I-node routines
>>>>
>>>>
>>>> Xuan YU
>>>> xxy113 at psu.edu
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> Xuan YU
>> xxy113 at psu.edu
>>
>>
>>
>>
>
>
More information about the petsc-users
mailing list