"Jin, Shuangshuang" <[email protected]> writes:

> Hi, Shri,
>
> From the log_summary, we can see that the TSJacobianEval/SNESJacobianEval 
> dominates the computation time as you mentioned.
>
> Event                Count      Time (sec)     Flops                          
>    --- Global ---  --- Stage ---   Total
>                    Max Ratio  Max     Ratio   Max  Ratio  Mess   Avg len 
> Reduct  %T %f %M %L %R  %T %f %M %L %R Mflop/s
> ------------------------------------------------------------------------------------------------------------------------
> TSJacobianEval      1782 1.0 3.1640e+02 1.0 0.00e+00 0.0 2.0e+03 7.4e+01 
> 1.4e+04 90  0  0  0 21  90  0  0  0 21     0
> SNESJacobianEval    1782 1.0 3.1641e+02 1.0 0.00e+00 0.0 2.0e+03 7.4e+01 
> 1.4e+04 90  0  0  0 21  90  0  0  0 21     0
>
> It takes 316 seconds for the total Jacobian Eval out of the 350 seconds of 
> SNESSolve,which is the total simulation time.
>
> So I look into my IJacobian Function. However, all it does is forming
> a 1152*1152 dimension Jacobian matrix. 

Can you send code for it?  If not, please create a "stage" for profiling
(PetscLogStageRegister), use PetscLogStagePush at the start of your
Jacobian function, and PetscLogStagePop at the end of the function.
This will profile any PETSc operations that you call while inside your
function separately from the solver.  I suspect you are either doing a
lot of communication or you have poor load balance.

Attachment: pgp6eh9wxkxe0.pgp
Description: PGP signature

Reply via email to