[petsc-users] Amortizing calls to PetscOptionsFindPair_Private()
Bhalla, Amneet Pal S
amneetb at live.unc.edu
Fri Jan 15 17:33:21 CST 2016
Hi Barry,
In our code at each timestep we build MG level smoothers using PETSc KSP solvers. We are using a PETSc function KSPSetFromOptions()
after we set some default values to the KSP. However, the profiler is showing that PetscOptionsFindPair_Private() is taking about 14% of total runtime.
We ran the code for 100 timesteps, and preconditioner is built everytime step. I am posting a sequence of calls to KSPSolve_Richardson that shows
getting PETScOptions adds up to a lot of cost
"KSPSolve_Richardson" 8.80e+05 12.7%
"PCApplyBAorAB" 5.25e+05 7.6%
"PCApply" 4.85e+05 7.0%
"PCApply_ASM" 4.85e+05 7.0%
"KSPSolve" 4.53e+05 6.6%
"KSPSolve_PREONLY" 2.06e+05 3.0%
"PetscObjectViewFromOptions" 3.19e+04 0.5%
"PetscObjectViewFromOptions" 2.39e+04 0.3%
"PetscOptionsGetBool" 2.39e+04 0.3%
"PetscOptionsHasName" 2.39e+04 0.3%
"PetscOptionsGetBool" 2.39e+04 0.3%
"PetscOptionsHasName" 1.60e+04 0.2%
"PetscOptionsGetBool" 1.60e+04 0.2%
"PetscObjectViewFromOptions" 1.60e+04 0.2%
"KSPReasonViewFromOptions" 1.60e+04 0.2%
"PetscOptionsGetBool" 1.56e+04 0.2%
"PetscObjectViewFromOptions" 7.98e+03 0.1%
"KSPSetUpOnBlocks" 7.98e+03 0.1%
"PetscOptionsGetBool" 7.98e+03 0.1%
"VecSet" 7.97e+03 0.1%
"PetscObjectViewFromOptions" 7.92e+03 0.1%
Do you have some suggestions as to doing it in a fast way -- maybe parsing options only once in the simulation and making populating KSP
options essentially a no-op?
Thanks,
--Amneet
More information about the petsc-users
mailing list