attached the patch for ts ex2.c to reproduce the problem.
It runs 30 times the same TSSolve with a TS that has a RHSJacobian and
BEULER as a solver.
This are the times for each solve on my workstation

[szampini@localhost tutorials]$ ./ex2
0.164751
0.1406
0.148703
0.158375
0.169456
0.172364
0.179924
0.186967
0.195149
0.202559
0.214942
0.217264
0.225801
0.232413
0.240205
0.249077
0.256062
0.262738
0.270429
0.277631
0.285879
0.292678
0.299828
0.307717
0.315533
0.323094
0.330388
0.338611
0.345624
0.35268

You can see that timings (for the same exact solve) increase. If I comment
out DMCoarsenHookAdd in SNESSetUpMatrices

[szampini@localhost tutorials]$ git diff
/home/szampini/src/petsc/src/snes/interface/
diff --git a/src/snes/interface/snes.c b/src/snes/interface/snes.c
index d366a2cc69..cdb7571869 100644
--- a/src/snes/interface/snes.c
+++ b/src/snes/interface/snes.c
@@ -642,7 +642,7 @@ PetscErrorCode SNESSetUpMatrices(SNES snes)
     KSP ksp;
     ierr = SNESGetKSP(snes,&ksp);CHKERRQ(ierr);
     ierr =
KSPSetComputeOperators(ksp,KSPComputeOperators_SNES,snes);CHKERRQ(ierr);
-    ierr =
DMCoarsenHookAdd(snes->dm,DMCoarsenHook_SNESVecSol,DMRestrictHook_SNESVecSol,snes);CHKERRQ(ierr);
+    //ierr =
DMCoarsenHookAdd(snes->dm,DMCoarsenHook_SNESVecSol,DMRestrictHook_SNESVecSol,snes);CHKERRQ(ierr);
   }
   PetscFunctionReturn(0);
 }

this is what I get, constant timings as expected

[szampini@localhost tutorials]$ ./ex2
0.154417
0.125632
0.125743
0.126303
0.125648
0.125593
0.125647
0.125656
0.125705
0.125705
0.125737
0.125648
0.125592
0.125568
0.125578
0.125678
0.125628
0.126056
0.125725
0.127705
0.126028
0.125671
0.125675
0.125662
0.125688
0.125767
0.12574
0.125604
0.125568
0.1256

Attachment: patch
Description: Binary data

Reply via email to