History log of /petsc/doc/ (Results 976 – 1000 of 2360)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
9beb8f7207-Aug-2023 Toby Isaac <toby.isaac@gmail.com>

Sys: Introduce -on_error_malloc_dump and PETSC_ERR_MEM_LEAK

To avoid a malloc dump that swamps the error output of another error,
this makes calling `PetscMallocDump()` in the error handlers opt-in,

Sys: Introduce -on_error_malloc_dump and PETSC_ERR_MEM_LEAK

To avoid a malloc dump that swamps the error output of another error,
this makes calling `PetscMallocDump()` in the error handlers opt-in,
with a different flag (`-on_error_malloc_dump`) from the flag for
calling `PetscMallocDump()` in `PetscFinalize()` (just `-malloc_dump`).

The addition of `PETSC_ERR_MEM_LEAK` allows for better error messages:
`~PoolAllocator()` can detect a memory leak even if the system
is not out of memory, so the error message will not say that for
`PETSC_ERR_MEM_LEAK`.

show more ...

d59693da07-Aug-2023 Pierre Jolivet <pierre@joliv.et>

Docs: fix typos and missing back ticks

599e520303-Aug-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-07-18/manual-linter-fixes-ksp' into 'main'

Manual fixes needed for linter for the KSP directory

See merge request petsc/petsc!6735


/petsc/.gitlab-ci.yml
/petsc/config/gmakegentest.py
manual/ksp.rst
/petsc/gmakefile.test
/petsc/include/petsc/private/mpiutils.h
/petsc/include/petsc/private/pcisimpl.h
/petsc/include/petscmatcoarsen.h
/petsc/include/petscpc.h
/petsc/lib/petsc/conf/rules.utils
/petsc/makefile
/petsc/src/dm/dt/fe/impls/basic/febasic.c
/petsc/src/dm/impls/da/dasub.c
/petsc/src/dm/impls/moab/dmmbmg.cxx
/petsc/src/dm/impls/moab/dmmoab.cxx
/petsc/src/dm/impls/plex/plexfem.c
/petsc/src/dm/impls/plex/plexpreallocate.c
/petsc/src/dm/impls/plex/tests/ex22.c
/petsc/src/dm/impls/plex/tutorials/ex5.c
/petsc/src/dm/impls/stag/stag.c
/petsc/src/dm/tutorials/ex20.c
/petsc/src/dm/tutorials/ex21.c
/petsc/src/ksp/ksp/guess/impls/fischer/fischer.c
/petsc/src/ksp/ksp/guess/impls/pod/pod.c
/petsc/src/ksp/ksp/impls/cg/cgimpl.h
/petsc/src/ksp/ksp/impls/cg/cgne/cgne.c
/petsc/src/ksp/ksp/impls/cg/pipelcg/pipelcg.c
/petsc/src/ksp/ksp/impls/cheby/cheby.c
/petsc/src/ksp/ksp/impls/fetidp/fetidp.c
/petsc/src/ksp/ksp/impls/gcr/gcr.c
/petsc/src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmres.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresdeflation.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresleja.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresorthog.c
/petsc/src/ksp/ksp/impls/gmres/dgmres/dgmres.c
/petsc/src/ksp/ksp/impls/gmres/dgmres/dgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/fgmres/fgmres.c
/petsc/src/ksp/ksp/impls/gmres/fgmres/modpcf.c
/petsc/src/ksp/ksp/impls/gmres/gmres.c
/petsc/src/ksp/ksp/impls/gmres/gmres2.c
/petsc/src/ksp/ksp/impls/gmres/lgmres/lgmres.c
/petsc/src/ksp/ksp/impls/gmres/lgmres/lgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/pgmres/pgmres.c
/petsc/src/ksp/ksp/impls/gmres/pgmres/pgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/pipefgmres/pipefgmres.c
/petsc/src/ksp/ksp/impls/gmres/pipefgmres/pipefgmresimpl.h
/petsc/src/ksp/ksp/impls/hpddm/hpddm.cxx
/petsc/src/ksp/ksp/impls/lsqr/lsqr.c
/petsc/src/ksp/ksp/impls/qcg/qcg.c
/petsc/src/ksp/ksp/interface/iguess.c
/petsc/src/ksp/ksp/interface/itcreate.c
/petsc/src/ksp/ksp/interface/iterativ.c
/petsc/src/ksp/ksp/interface/itfunc.c
/petsc/src/ksp/ksp/interface/itres.c
/petsc/src/ksp/ksp/tests/raja/ex1.raja.cxx
/petsc/src/ksp/ksp/utils/dmproject.c
/petsc/src/ksp/ksp/utils/lmvm/bfgs/bfgs.c
/petsc/src/ksp/ksp/utils/lmvm/brdn/badbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/brdn/brdn.c
/petsc/src/ksp/ksp/utils/lmvm/dfp/dfp.c
/petsc/src/ksp/ksp/utils/lmvm/diagbrdn/diagbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/lmvmutils.c
/petsc/src/ksp/ksp/utils/lmvm/sr1/sr1.c
/petsc/src/ksp/ksp/utils/lmvm/symbrdn/symbadbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/symbrdn/symbrdn.c
/petsc/src/ksp/pc/impls/bddc/bddc.c
/petsc/src/ksp/pc/impls/chowiluviennacl/chowiluviennacl.cxx
/petsc/src/ksp/pc/impls/factor/factor.c
/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
/petsc/src/ksp/pc/impls/galerkin/galerkin.c
/petsc/src/ksp/pc/impls/gamg/agg.c
/petsc/src/ksp/pc/impls/gamg/classical.c
/petsc/src/ksp/pc/impls/gamg/gamg.c
/petsc/src/ksp/pc/impls/gamg/geo.c
/petsc/src/ksp/pc/impls/gamg/util.c
/petsc/src/ksp/pc/impls/hpddm/pchpddm.cxx
/petsc/src/ksp/pc/impls/is/nn/nn.c
/petsc/src/ksp/pc/impls/is/pcis.c
/petsc/src/ksp/pc/impls/jacobi/jacobi.c
/petsc/src/ksp/pc/impls/mg/mg.c
/petsc/src/ksp/pc/impls/ml/ml.c
/petsc/src/ksp/pc/impls/mpi/pcmpi.c
/petsc/src/ksp/pc/impls/patch/pcpatch.c
/petsc/src/ksp/pc/impls/redistribute/redistribute.c
/petsc/src/ksp/pc/impls/redundant/redundant.c
/petsc/src/ksp/pc/impls/rowscalingviennacl/rowscalingviennacl.cxx
/petsc/src/ksp/pc/impls/saviennacl/saviennacl.cxx
/petsc/src/ksp/pc/impls/shell/shellpc.c
/petsc/src/ksp/pc/impls/telescope/telescope.c
/petsc/src/ksp/pc/interface/pcset.c
/petsc/src/ksp/pc/interface/precon.c
/petsc/src/mat/coarsen/impls/misk/misk.c
/petsc/src/mat/impls/aij/mpi/mumps/mumps.c
/petsc/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
/petsc/src/mat/impls/aij/seq/bas/spbas_cholesky.h
/petsc/src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
/petsc/src/mat/impls/aij/seq/superlu/superlu.c
/petsc/src/mat/tests/cJSON.c
/petsc/src/mat/tests/ex214.c
/petsc/src/snes/linesearch/impls/nleqerr/linesearchnleqerr.c
/petsc/src/sys/classes/viewer/impls/glvis/glvis.c
/petsc/src/tao/constrained/impls/almm/almm.c
/petsc/src/tao/linesearch/impls/morethuente/morethuente.c
/petsc/src/ts/impls/symplectic/basicsymplectic/basicsymplectic.c
/petsc/src/ts/tutorials/ex17.c
/petsc/src/ts/utils/dmplexlandau/plexland.c
/petsc/src/vec/is/sf/impls/basic/sfpack.c
/petsc/src/vec/vec/interface/vector.c
/petsc/src/vec/vec/utils/vecstash.c
f28a0ef031-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'release'

ffb77dad31-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Increase patchlevel to 3.19.4

1c78f1b631-Jul-2023 Barry Smith <bsmith@mcs.anl.gov>

Add docs on using MPI environmental variables to control compilers selected by mpicc etc

04c3f3b819-Jul-2023 Barry Smith <bsmith@mcs.anl.gov>

Manual fixes needed for linter for the KSP directory


/petsc/.gitlab-ci.yml
manual/ksp.rst
/petsc/include/petsc/private/pcisimpl.h
/petsc/include/petsclogdeprecated.h
/petsc/include/petscmat.h
/petsc/include/petscpc.h
/petsc/src/ksp/ksp/guess/impls/fischer/fischer.c
/petsc/src/ksp/ksp/guess/impls/pod/pod.c
/petsc/src/ksp/ksp/impls/cg/cgimpl.h
/petsc/src/ksp/ksp/impls/cg/cgne/cgne.c
/petsc/src/ksp/ksp/impls/cg/pipelcg/pipelcg.c
/petsc/src/ksp/ksp/impls/cheby/cheby.c
/petsc/src/ksp/ksp/impls/gcr/gcr.c
/petsc/src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmres.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresdeflation.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresleja.c
/petsc/src/ksp/ksp/impls/gmres/agmres/agmresorthog.c
/petsc/src/ksp/ksp/impls/gmres/dgmres/dgmres.c
/petsc/src/ksp/ksp/impls/gmres/dgmres/dgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/fgmres/fgmres.c
/petsc/src/ksp/ksp/impls/gmres/fgmres/modpcf.c
/petsc/src/ksp/ksp/impls/gmres/gmres.c
/petsc/src/ksp/ksp/impls/gmres/gmres2.c
/petsc/src/ksp/ksp/impls/gmres/lgmres/lgmres.c
/petsc/src/ksp/ksp/impls/gmres/lgmres/lgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/pgmres/pgmres.c
/petsc/src/ksp/ksp/impls/gmres/pgmres/pgmresimpl.h
/petsc/src/ksp/ksp/impls/gmres/pipefgmres/pipefgmres.c
/petsc/src/ksp/ksp/impls/gmres/pipefgmres/pipefgmresimpl.h
/petsc/src/ksp/ksp/impls/hpddm/hpddm.cxx
/petsc/src/ksp/ksp/impls/lsqr/lsqr.c
/petsc/src/ksp/ksp/impls/qcg/qcg.c
/petsc/src/ksp/ksp/interface/iguess.c
/petsc/src/ksp/ksp/interface/itcreate.c
/petsc/src/ksp/ksp/interface/iterativ.c
/petsc/src/ksp/ksp/interface/itfunc.c
/petsc/src/ksp/ksp/interface/itres.c
/petsc/src/ksp/ksp/utils/dmproject.c
/petsc/src/ksp/ksp/utils/lmvm/bfgs/bfgs.c
/petsc/src/ksp/ksp/utils/lmvm/brdn/badbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/brdn/brdn.c
/petsc/src/ksp/ksp/utils/lmvm/dfp/dfp.c
/petsc/src/ksp/ksp/utils/lmvm/diagbrdn/diagbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/lmvmutils.c
/petsc/src/ksp/ksp/utils/lmvm/sr1/sr1.c
/petsc/src/ksp/ksp/utils/lmvm/symbrdn/symbadbrdn.c
/petsc/src/ksp/ksp/utils/lmvm/symbrdn/symbrdn.c
/petsc/src/ksp/pc/impls/bddc/bddc.c
/petsc/src/ksp/pc/impls/chowiluviennacl/chowiluviennacl.cxx
/petsc/src/ksp/pc/impls/factor/factor.c
/petsc/src/ksp/pc/impls/galerkin/galerkin.c
/petsc/src/ksp/pc/impls/gamg/classical.c
/petsc/src/ksp/pc/impls/gamg/gamg.c
/petsc/src/ksp/pc/impls/gamg/geo.c
/petsc/src/ksp/pc/impls/gamg/util.c
/petsc/src/ksp/pc/impls/hpddm/pchpddm.cxx
/petsc/src/ksp/pc/impls/is/nn/nn.c
/petsc/src/ksp/pc/impls/is/pcis.c
/petsc/src/ksp/pc/impls/jacobi/jacobi.c
/petsc/src/ksp/pc/impls/mg/mg.c
/petsc/src/ksp/pc/impls/ml/ml.c
/petsc/src/ksp/pc/impls/patch/pcpatch.c
/petsc/src/ksp/pc/impls/redundant/redundant.c
/petsc/src/ksp/pc/impls/rowscalingviennacl/rowscalingviennacl.cxx
/petsc/src/ksp/pc/impls/saviennacl/saviennacl.cxx
/petsc/src/ksp/pc/impls/shell/shellpc.c
/petsc/src/ksp/pc/impls/telescope/telescope.c
/petsc/src/ksp/pc/interface/pcset.c
/petsc/src/ksp/pc/interface/precon.c
/petsc/src/mat/impls/aij/mpi/mumps/mumps.c
/petsc/src/sys/error/errtrace.c
/petsc/src/sys/tests/output/ex66_1.out
7743360715-Jul-2023 Barry Smith <bsmith@mcs.anl.gov>

Add convenience functions VecCreateFromOptions() and MatCreateFromOptions() to reduce the use of specialize creation routines in the examples and thus make it easier for people to use GPU based solve

Add convenience functions VecCreateFromOptions() and MatCreateFromOptions() to reduce the use of specialize creation routines in the examples and thus make it easier for people to use GPU based solvers

show more ...


/petsc/config/BuildSystem/config/compilerFlags.py
/petsc/config/BuildSystem/config/compilerOptions.py
/petsc/config/BuildSystem/config/compilers.py
/petsc/config/BuildSystem/config/packages/h2opus.py
/petsc/config/BuildSystem/config/packages/magma.py
changes/dev.rst
/petsc/gmakefile.test
/petsc/include/petscmat.h
/petsc/include/petscvec.h
/petsc/lib/petsc/conf/rules
/petsc/lib/petsc/conf/rules.doc
/petsc/lib/petsc/conf/rules.utils
/petsc/lib/petsc/conf/variables
/petsc/src/dm/field/tutorials/ex1.c
/petsc/src/dm/field/tutorials/output/ex1_da.out
/petsc/src/dm/field/tutorials/output/ex1_ds.out
/petsc/src/dm/field/tutorials/output/ex1_shell.out
/petsc/src/dm/impls/plex/tests/ex18.c
/petsc/src/dm/impls/plex/tests/ex56.c
/petsc/src/dm/tests/ex8.c
/petsc/src/ksp/ksp/tests/benchmarkscatters/ex2.c
/petsc/src/ksp/ksp/tests/ex14.c
/petsc/src/ksp/ksp/tests/ex19.c
/petsc/src/ksp/ksp/tests/ex29.c
/petsc/src/ksp/ksp/tests/ex57.c
/petsc/src/ksp/ksp/tests/ex62f.F90
/petsc/src/ksp/ksp/tests/ex71f.F90
/petsc/src/ksp/ksp/tests/ex84.c
/petsc/src/ksp/ksp/tests/ex9.c
/petsc/src/ksp/ksp/tests/output/ex57_1.out
/petsc/src/ksp/ksp/tests/output/ex84_elman.out
/petsc/src/ksp/ksp/tests/output/ex84_olshanskii.out
/petsc/src/ksp/ksp/tutorials/ex14f.F90
/petsc/src/ksp/ksp/tutorials/ex15f.F90
/petsc/src/ksp/ksp/tutorials/ex27.c
/petsc/src/ksp/ksp/tutorials/ex2f.F90
/petsc/src/ksp/ksp/tutorials/ex52f.F90
/petsc/src/ksp/ksp/tutorials/ex57f.F90
/petsc/src/ksp/ksp/tutorials/ex77.c
/petsc/src/ksp/pc/impls/lsc/lsc.c
/petsc/src/ksp/pc/impls/mpi/pcmpi.c
/petsc/src/mat/f90-mod/petscmat.h90
/petsc/src/mat/impls/aij/mpi/mpiaij.c
/petsc/src/mat/impls/aij/seq/aij.c
/petsc/src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.cpp
/petsc/src/mat/impls/baij/mpi/mpibaij.c
/petsc/src/mat/impls/baij/seq/baij.c
/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
/petsc/src/mat/impls/sbaij/seq/sbaij.c
/petsc/src/mat/interface/ftn-custom/zmatrixf.c
/petsc/src/mat/tests/ex102.c
/petsc/src/mat/tests/ex171f.F90
/petsc/src/mat/tests/ex213.c
/petsc/src/mat/tests/ex73.c
/petsc/src/mat/utils/gcreate.c
/petsc/src/sys/tests/ex30.c
/petsc/src/tao/bound/tutorials/output/plate2_1.out
/petsc/src/tao/bound/tutorials/output/plate2_10.out
/petsc/src/tao/bound/tutorials/output/plate2_11.out
/petsc/src/tao/bound/tutorials/output/plate2_12.out
/petsc/src/tao/bound/tutorials/output/plate2_13.out
/petsc/src/tao/bound/tutorials/output/plate2_14.out
/petsc/src/tao/bound/tutorials/output/plate2_15.out
/petsc/src/tao/bound/tutorials/output/plate2_3.out
/petsc/src/tao/bound/tutorials/output/plate2_4.out
/petsc/src/tao/bound/tutorials/output/plate2_7.out
/petsc/src/tao/bound/tutorials/plate2.c
/petsc/src/ts/tests/ex10.c
/petsc/src/ts/tutorials/ex11.c
/petsc/src/vec/f90-mod/petscvec.h90
/petsc/src/vec/is/sf/tests/ex15.c
/petsc/src/vec/is/sf/tests/ex18.c
/petsc/src/vec/is/sf/tests/ex19.c
/petsc/src/vec/is/sf/tests/ex1f.F90
/petsc/src/vec/is/sf/tests/ex21.c
/petsc/src/vec/vec/impls/mpi/vmpicr.c
/petsc/src/vec/vec/impls/seq/vseqcr.c
/petsc/src/vec/vec/interface/ftn-custom/zvectorf.c
/petsc/src/vec/vec/interface/veccreate.c
/petsc/src/vec/vec/tests/ex13.c
/petsc/src/vec/vec/tests/ex17f.F90
/petsc/src/vec/vec/tests/ex30f.F90
/petsc/src/vec/vec/tests/ex33.c
/petsc/src/vec/vec/tests/ex49.c
/petsc/src/vec/vec/tutorials/ex1.c
/petsc/src/vec/vec/tutorials/ex11.c
/petsc/src/vec/vec/tutorials/ex11f.F90
/petsc/src/vec/vec/tutorials/ex13.c
/petsc/src/vec/vec/tutorials/ex1f.F90
/petsc/src/vec/vec/tutorials/ex1f90.F90
/petsc/src/vec/vec/tutorials/ex20f90.F90
/petsc/src/vec/vec/tutorials/ex2f.F90
/petsc/src/vec/vec/tutorials/ex42a.c
dff009be24-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add composed functions for default log handler functions

This makes them extensible to other implementations.
Where appropriate, the global log handler will now dispatch
these functions t

Profiling: Add composed functions for default log handler functions

This makes them extensible to other implementations.
Where appropriate, the global log handler will now dispatch
these functions to all running log handlers.

It is not always appropriate to dispatch to all running log handlers:
when a single return value is expected or when a filename
is given, it will continue to dispatch only to the default
log handler.

show more ...

294de79420-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Rename PETSC_LOG_HANDLER_XXX -> PETSCLOGHANDLERXXX

c474e8c114-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Doc: Document flamegraph and perfstubs profiling usage

b665b14e18-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Switch logging over to the new PetscLogHandler infrastructure

- Move data structures only needed by the default logger now (Action,
Object) to logdefault.c

- Create petsclogdeprecated.

Profiling: Switch logging over to the new PetscLogHandler infrastructure

- Move data structures only needed by the default logger now (Action,
Object) to logdefault.c

- Create petsclogdeprecated.h and petsc/private/logimpldeprecated.h
for publicly visible symbols that are now deprecated. Yes,
lots of symbols in petsc/private/logimpl.h were not only visible
but had docstrings.

- The macros PetscLogEventBegin(), PetscLogEventEnd(),
PetscLogEventSync(), PetscLogObjectCreate(), and
PetscLogObjectDestroy() now looks through the log handlers
in PetscLogHandlers, sees if they have they appropriate
callbacks (Exposed in PetscLogHandlerHot), and calls them.
Up to 4 log handlers can run simultaneously.

- All queries about the registered things now go through
petsc_log_state.

- Output functions dispatch to the appropriate PetscLogHandler

- There is no need for xmllogevent.c, xmlviewer.c, eventlog.c,
classlog.c, and stagelog.c anymore. Some orphaned functions
(PetscLogSetThreshold(), PetscLogEventSetDof(),
PetscLogEventSetError(), PetscASend(), PetscARecv(), PetscAReduce())

- PetscFEOpenCLLogResidual() did some intrusive things related
to the old logging infrastruture: the private header
for the default log handler is now imported into feopencl.c
so that it can do equivalent things with the new infrastructure.

- PetscLogPauseCurrentEvent_Internal() is replaced with
PetscLogEventsPause()

Deprecated symbols include:

- All functions related to PetscStageLog and the resizable array structs
that it contained.

- The legacy EventBegin()/EventEnd() callbacks.

- PetscLogAllBegin(), which actually reported less information than
PetscLogDefaultBegin() because it was not kept up-to-date with
regards to GPU profiling.

show more ...


/petsc/config/PETSc/Configure.py
changes/dev.rst
/petsc/include/petsc/private/fortranimpl.h
/petsc/include/petsc/private/logimpl.h
/petsc/include/petsc/private/logimpldeprecated.h
/petsc/include/petsclog.h
/petsc/include/petsclogdeprecated.h
/petsc/include/petsclogtypes.h
/petsc/include/petscmacros.h
/petsc/src/binding/petsc4py/src/lib-petsc/custom.h
/petsc/src/binding/petsc4py/src/petsc4py/PETSc/Log.pyx
/petsc/src/binding/petsc4py/src/petsc4py/PETSc/petsclog.pxi
/petsc/src/dm/dt/fe/impls/opencl/feopencl.c
/petsc/src/dm/dt/fe/tests/ex1.c
/petsc/src/dm/impls/plex/plex.c
/petsc/src/dm/impls/plex/tests/ex18.c
/petsc/src/dm/impls/plex/tests/ex2.c
/petsc/src/dm/impls/swarm/tests/ex7.c
/petsc/src/dm/partitioner/tests/ex33.c
/petsc/src/ksp/ksp/tests/benchmarkscatters/ex1.c
/petsc/src/ksp/ksp/tests/ex18.c
/petsc/src/ksp/ksp/tests/ex38.c
/petsc/src/ksp/ksp/tests/ex6.c
/petsc/src/ksp/ksp/tests/ex8.c
/petsc/src/ksp/ksp/tutorials/ex18.c
/petsc/src/ksp/ksp/tutorials/ex29.c
/petsc/src/ksp/ksp/tutorials/ex46.c
/petsc/src/ksp/ksp/tutorials/ex5.c
/petsc/src/ksp/ksp/tutorials/ex52.c
/petsc/src/ksp/ksp/tutorials/ex54.c
/petsc/src/ksp/ksp/tutorials/ex55.c
/petsc/src/ksp/ksp/tutorials/ex71.c
/petsc/src/ksp/ksp/tutorials/ex76.c
/petsc/src/ksp/ksp/tutorials/ex79.c
/petsc/src/ksp/ksp/tutorials/ex9.c
/petsc/src/ksp/ksp/tutorials/network/ex2.c
/petsc/src/ksp/pc/impls/mg/mg.c
/petsc/src/ksp/pc/tests/ex9f.F90
/petsc/src/ksp/pc/tutorials/ex3.c
/petsc/src/mat/impls/adj/mpi/mpiadj.c
/petsc/src/mat/impls/aij/mpi/mpiaij.c
/petsc/src/mat/impls/aij/seq/aij.c
/petsc/src/mat/impls/baij/mpi/mpibaij.c
/petsc/src/mat/impls/baij/seq/baij.c
/petsc/src/mat/impls/dense/mpi/mpidense.c
/petsc/src/mat/impls/dense/seq/dense.c
/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
/petsc/src/mat/impls/sbaij/seq/sbaij.c
/petsc/src/mat/impls/sell/mpi/mpisell.c
/petsc/src/mat/impls/sell/seq/sell.c
/petsc/src/mat/interface/matproduct.c
/petsc/src/mat/tests/ex226.c
/petsc/src/mat/tests/ex237.c
/petsc/src/mat/tests/ex31.c
/petsc/src/mat/tests/ex92.c
/petsc/src/snes/tests/ex13.c
/petsc/src/snes/tutorials/ex1f.F90
/petsc/src/snes/tutorials/ex56.c
/petsc/src/snes/tutorials/network/ex1.c
/petsc/src/snes/tutorials/network/power/power.c
/petsc/src/snes/tutorials/network/power/power2.c
/petsc/src/snes/tutorials/network/water/water.c
/petsc/src/snes/utils/convest.c
/petsc/src/sys/classes/random/tutorials/ex1.c
/petsc/src/sys/classes/viewer/impls/ascii/filev.c
/petsc/src/sys/classes/viewer/impls/vu/petscvu.c
/petsc/src/sys/logging/ftn-custom/zplogf.c
/petsc/src/sys/logging/handler/impls/default/logdefault.c
/petsc/src/sys/logging/handler/impls/legacy/loglegacy.c
/petsc/src/sys/logging/handler/impls/mpe/logmpe.c
/petsc/src/sys/logging/handler/impls/nested/lognested.c
/petsc/src/sys/logging/handler/impls/nested/xmlviewer.c
/petsc/src/sys/logging/handler/impls/perfstubs/logperfstubs.c
/petsc/src/sys/logging/handler/impls/trace/logtrace.c
/petsc/src/sys/logging/handler/interface/loghandler.c
/petsc/src/sys/logging/plog.c
/petsc/src/sys/logging/state/logstate.c
/petsc/src/sys/memory/mtr.c
/petsc/src/sys/objects/device/impls/cupm/cupmcontext.hpp
/petsc/src/sys/objects/inherit.c
/petsc/src/sys/objects/init.c
/petsc/src/sys/objects/pinit.c
/petsc/src/sys/tests/ex12.c
/petsc/src/tao/pde_constrained/tutorials/hyperbolic.c
/petsc/src/tao/pde_constrained/tutorials/parabolic.c
/petsc/src/tao/tutorials/ex4.c
/petsc/src/ts/tutorials/advection-diffusion-reaction/ex5adj_mf.c
/petsc/src/ts/tutorials/advection-diffusion-reaction/ex5opt_ic.c
/petsc/src/ts/tutorials/power_grid/stability_9bus/ex9busdmnetwork.c
/petsc/src/ts/utils/dmplexlandau/tutorials/ex2.c
/petsc/src/ts/utils/tsconvest.c
/petsc/src/vec/is/sf/impls/basic/neighbor/sfneighbor.c
/petsc/src/vec/is/sf/tests/ex14.c
/petsc/src/vec/vec/impls/mpi/pdvec.c
/petsc/src/vec/vec/impls/seq/bvec2.c
/petsc/src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx
/petsc/src/vec/vec/tests/ex2k.c
/petsc/src/vec/vec/tutorials/ex10.c
/petsc/src/vec/vec/tutorials/ex5.c
/petsc/src/vec/vec/tutorials/performance.c
53e0a2f313-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add PetscLogState and PetscLogHandler to global logging

Without removing the existing global objects (such as petsc_stageLog),
This commit creates a global PetscLogState (petsc_log_state)

Profiling: Add PetscLogState and PetscLogHandler to global logging

Without removing the existing global objects (such as petsc_stageLog),
This commit creates a global PetscLogState (petsc_log_state) and
connects it to PetscLogInitialize() and PetscLogFinalize().

The functions PetscLogHandlerStart() and PetscLogHandlerStop() are added
to connect a general PetscLogHandler() to the global petsc_log_state,

A small array of slots for log handlers, PetscLogHandlers, is
added. It will be used in the macros like `PetscLogEventBegin()`
and `PetscLogEventEnd()`, so we make a wrapper type
`PetscLogHandlerHot` that exposes just as much of the internals
as are necessary to implement the macros.

Because they do not conflict with existing functions,
the following functions that depend on the new infrastructure
are added:

- PetscLogStageGetName(), PetscLogEventGetName(), PetscLogClassGetId(),
and PetscLogClassIdGetName() for completeness and to bring
of the functionality from petsc4pys' custom header into the
library proper.

- PetscLogEventsPause() and PetscLogEventsResume(), which
will replace PetscLogPauseCurrentEvent_Internal() and
PetscLogEventResume_Internal()

- PetscLogPerfstubsBegin() and PetscLogLegacyCallbacksBegin()

show more ...

0970d93f13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add legacy callbacks implementation of PetscLogHandler

The existing logging infrastructures has four exposed callback pointers:

- PetscLogPLB / PetscLogPLE for PetscLogEventBegin() / Pet

Profiling: Add legacy callbacks implementation of PetscLogHandler

The existing logging infrastructures has four exposed callback pointers:

- PetscLogPLB / PetscLogPLE for PetscLogEventBegin() / PetscLogEventEnd()
These can also be set with PetscLogSet

- PetscLogPHC / PetscLogPHD for PetscLogObjectCreate() /
PetscLogObjectDestroy()

This log handler implementation provides a path for users who have been
setting their own callbacks with these functions to upgrade to the new
PetscLogHandler interface.

show more ...

ccf0b5c113-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add tau perfstubs implementation of PetscLogHandler

In the existing logging, perfstubs runs automatically with -log_view
if PETSc is configured --with-tau-perfstubs. This new PetscLogHan

Profiling: Add tau perfstubs implementation of PetscLogHandler

In the existing logging, perfstubs runs automatically with -log_view
if PETSc is configured --with-tau-perfstubs. This new PetscLogHandler
implementation will be used with a new -log_perfstubs command line
option that will only run this handler and not the default handler.

show more ...

856bee6913-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: add MPE implementation of PetscLogHandler

This is meant to handle -log_mpe.

6467efc913-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add trace implementation of PetscLogHandler

This is a minimal PetscLogHandler implementation for -log_trace.

b932118813-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add nested PetscLogHandler implementation

This log handler has behavior like the behavior of
PetscLogNestedBegin().

Unlike the implementation of PetscLogHandler_Default, I did not try to

Profiling: Add nested PetscLogHandler implementation

This log handler has behavior like the behavior of
PetscLogNestedBegin().

Unlike the implementation of PetscLogHandler_Default, I did not try to
do a faithful translation of the existing nested logging behavior, for
two reasons.

- The existing implementation keeps sorted lists of nested paths ("Event
A;Event B;"), and for each of those paths keeps a sorted list of the
top-level events ("Event C", "Event D") that map that path to other
paths (path + event => other path). It's a complicated data structure,
and the benefit of the sorting (O(log n) lookup) is probably not worth
the more expensive insertion cost each time a new path + event combo
appears. Instead I implemented the path + event => other path
lookup as a hash map, which simplified the implementation
significantly.

- The existing implementation assigns an event to each path, modifying
the event registry in place. This messes things up if you want
to both -log_view and -log_view ::ascii_flamegraph output, the
original motivation for refactoring the profiling infrastructure.
In the new implementation, the nested handler has its own
PetscLogState that it modifies, and an inner copy of
PetscLogHandler_Default the acts on that nested state.

- The PetscLogGlobalNames data structure also simplifies the
construction of a linearized tree of events in the final
viewing stage, although the low-level xml construction
routines are copied almost verbatim from the previous
implementation.

show more ...

78f1b9b413-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Implement the default PetscLogHandler

The existing default log handling that uses the PetscStageLog
is translated in the PetscLogHandler_Default implementation
of PetscLogHandler.

- Most

Profiling: Implement the default PetscLogHandler

The existing default log handling that uses the PetscStageLog
is translated in the PetscLogHandler_Default implementation
of PetscLogHandler.

- Most data that is global in the existing log handling
is moved into the struct, with the exception of the
raw counters.

- The registry data structures of PetscStageLog (eventLog,
classLog) are not reproduced because they are now in
the PetscLogState interface.

- PETSC_LOG_RESIZABLE_ARRAY is used to implement
resizable arrays instead of PetscStageInfo,
PetscEventPerfLog, and PetscClassPerfLog

- The tau perfstubs and MPE functionality is not
reproduced because they will become new
handlers on their own.

- The PetscLogGlobalNames provided by the
PetscLogRegistry interface make the logging
robust to differences in which events / stages are
registered on which process and in which order.

Otherwise the functions are relatively faithful translations
of the existing PetscStageLog functions into the new interface.
When reviewing this commit it might help to have a diff
between the PetscStageLog and PetscLogHandler_Default functions
to see what changes between them. I am working on a way to attach
that to the MR associated with this change.

show more ...

19ef957c13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add PetscLogHandler interface

PetscStageLog tries to handle multiple ways of interpreting profiling
data:

* -log_view (default),
* -log_view ::ascii_xml and -log_view ::ascii_flamegraph

Profiling: Add PetscLogHandler interface

PetscStageLog tries to handle multiple ways of interpreting profiling
data:

* -log_view (default),
* -log_view ::ascii_xml and -log_view ::ascii_flamegraph (nested),
* -log_trace,
* -log_mpe,
* tau perfstubs (implicitly),
* nvidia

They can interact with petsc_logState in incompatible ways.

PetscLogHandler gives each handler its own interface so that
it can have its own data structures. They key operations
that a log handler can implement are:

- PetscLogHandlerEventBegin() / PetscLogHandlerEventEnd()
- PetscLogHandlerEventSync()
- PetscLogHandlerStagePush() / PetscLogHandlerStagePop()
- PetscLogHandlerObjectCreate() / PetscLogHandlerObjectDestroy()

The remaining operations are PetscObject standard functions,
with the except of `PetscLogHandlerSetState()` / `PetscLogHandlerGetState()`,
which control the `PetscLogState` that the handler can use to
get information about registered things and about the stage stack.

This change only introduces the type, it does not deploy it
to replace anything in the current profiling interface.
When it does, the user-defined log handling that was implemented
by setting callbacks in in PetscLogSet() will be replaced with
user-defined PetscLogHandler instances.

show more ...

6873511f13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add PetscLogState interface to describe events and stages

The design that is being implemented is a separation between the
logging state that is common to multiple log handlers and the lo

Profiling: Add PetscLogState interface to describe events and stages

The design that is being implemented is a separation between the
logging state that is common to multiple log handlers and the log
handlers themselves. This new interface PetscLogState will
become the replacement for PetscStageLog, but this change
only introduces it without deploying it.

Internally, PetscLogState is:

- A registry (PetscLogRegistry) of more-or-less immutable information
about stages, events, and classes that have been registered. The
registry is not exposed, but the registry entries (PetscLogEventInfo,
PetscLogStageInfo, PetscLogClassInfo), that I feel comfortable exposing
them (pass-by-copy) through PetscLogStateXXXGetInfo() functions.

- A stack of stages that have been pushed and popped

- A PetscBT describing the active/inactive state of logging stages
and events. I have kept the existing semantics of
PetscLogStateSetActive / PetscLogEventActivate /
PetscLogEventActivateClass, which is: if the stage is active
and the (event,stage) pair is active, then log handling proceeds.
This logic is encoded in PetscLogStateStageEventIsActive

- For symmetry I have added PetscLogClass that matches PetscLogStage
and PetscLogEvent

- The profiling interface is littered with ad hoc resizable array types
(PetscEventRegLog, PetscEventPerfLog, PetscClassPerfLog,
PetscStageLog). The intention is for these to go away. This commit
introduces a PetscHashMap-style macro constructor for resizable
arrays (PETSC_LOG_RESIZABLE_ARRAY). It is only used in implementing
these arrays: they do not appear in the public interface. Storage
could be switched to a hashmap or other backing storage at some point
in the future.

show more ...

1c1ad86e13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: make visibility of logging types align with manpages

- Create file petsclogtypes.h for exposed logging data types. Move types
that will remain through upcoming changes (PetscLogEvent,

Profiling: make visibility of logging types align with manpages

- Create file petsclogtypes.h for exposed logging data types. Move types
that will remain through upcoming changes (PetscLogEvent,
PetscLogStage, PetscIntStack, PetscLogEventPerfInfo).

- Add docstring for PetscLogEventPerfInfo: it is the one important
type carrying profiling information that will remain through upcoming
changes.

- Change the submansec of petsclog.h from Sys to Profiling, better
reflecting the contents of the file.

- As the PetscIntStack methods have had manual pages (and externally
visible symbols) for years, move their declarations from
petsc/private/logimpl.h to petsclog.h. PetscIntStack is a low-level
data-structure similar to PetscBT, and this change puts PetscIntStack on
roughly equal footing with PetscBT.

show more ...

d68d54c713-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Testing: Add 'temporaries:' field to the test suite

It's nice when the output that needs to be tested goes to stdout, and we
can do that with our own viewers, but some output that needs to be
tested

Testing: Add 'temporaries:' field to the test suite

It's nice when the output that needs to be tested goes to stdout, and we
can do that with our own viewers, but some output that needs to be
tested can only be written to temporary files. An example is MPE
logging, which produces a .clog2 file, let's say it's called ex30.clog2.

We can access that file through the test suite:

/*TEST

test:
filter: strings ex30.clog2 | grep "Petsc"

TEST*/

But the problem is that ex30.clog2 will stay in the test build
directory. Suppose the test breaks and the program does not write
the ex30.clog2 file: then a stale version of that file will be read.

This change allows us to write the test as:

/*TEST

test:
temporaries: ex30.clog2
filter: strings ex30.clog2 | grep "Petsc"

TEST*/

which indices that (the localized version of) `rm -f ex30.clog2` will
run before the test.

show more ...

00bc44a426-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-06-16/pcmpi-simplify-options-database-api' into 'main'

Change the options database API for PCMPI to eliminate the -mpi_ options...

See merge request petsc/petsc!6611


changes/dev.rst
manual/getting_started.rst
manual/ksp.rst
/petsc/include/petsc/private/kspimpl.h
/petsc/include/petsc/private/pcimpl.h
/petsc/include/petscksp.h
/petsc/include/petscpc.h
/petsc/include/petscsys.h
/petsc/src/ksp/ksp/interface/itcl.c
/petsc/src/ksp/ksp/interface/itcreate.c
/petsc/src/ksp/ksp/interface/itfunc.c
/petsc/src/ksp/ksp/tutorials/ex1.c
/petsc/src/ksp/ksp/tutorials/output/ex1_1.out
/petsc/src/ksp/ksp/tutorials/output/ex1_1_aijcusparse.out
/petsc/src/ksp/ksp/tutorials/output/ex1_2.out
/petsc/src/ksp/ksp/tutorials/output/ex1_2_aijcusparse.out
/petsc/src/ksp/ksp/tutorials/output/ex1_3.out
/petsc/src/ksp/ksp/tutorials/output/ex1_3_aijcusparse.out
/petsc/src/ksp/ksp/tutorials/output/ex1_minit.out
/petsc/src/ksp/ksp/tutorials/output/ex1_mpi_linear_solver_server_1.out
/petsc/src/ksp/pc/impls/asm/asm.c
/petsc/src/ksp/pc/impls/bddc/bddc.c
/petsc/src/ksp/pc/impls/bddc/bddcfetidp.c
/petsc/src/ksp/pc/impls/bddc/bddcnullspace.c
/petsc/src/ksp/pc/impls/bddc/bddcprivate.c
/petsc/src/ksp/pc/impls/bddc/bddcschurs.c
/petsc/src/ksp/pc/impls/bjacobi/bjacobi.c
/petsc/src/ksp/pc/impls/bjacobi/bjkokkos/bjkokkos.kokkos.cxx
/petsc/src/ksp/pc/impls/deflation/deflation.c
/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
/petsc/src/ksp/pc/impls/galerkin/galerkin.c
/petsc/src/ksp/pc/impls/gamg/agg.c
/petsc/src/ksp/pc/impls/gasm/gasm.c
/petsc/src/ksp/pc/impls/hpddm/pchpddm.cxx
/petsc/src/ksp/pc/impls/is/nn/nn.c
/petsc/src/ksp/pc/impls/is/pcis.c
/petsc/src/ksp/pc/impls/ksp/pcksp.c
/petsc/src/ksp/pc/impls/lsc/lsc.c
/petsc/src/ksp/pc/impls/mg/gdsw.c
/petsc/src/ksp/pc/impls/mg/mg.c
/petsc/src/ksp/pc/impls/mg/mgfunc.c
/petsc/src/ksp/pc/impls/mpi/pcmpi.c
/petsc/src/ksp/pc/impls/patch/pcpatch.c
/petsc/src/ksp/pc/impls/redistribute/redistribute.c
/petsc/src/ksp/pc/impls/redundant/redundant.c
/petsc/src/ksp/pc/impls/telescope/telescope.c
/petsc/src/ksp/pc/impls/wb/wb.c
/petsc/src/ksp/pc/interface/precon.c
7a99bfca22-Jun-2023 Barry Smith <bsmith@mcs.anl.gov>

Change the options database API for PCMPI to eliminate the -mpi_ options prefix; thus one can run -mpi_linear_solver_server -ksp_type cg -pc_type gamg to get the parallel version of these preconditio

Change the options database API for PCMPI to eliminate the -mpi_ options prefix; thus one can run -mpi_linear_solver_server -ksp_type cg -pc_type gamg to get the parallel version of these preconditioners.

Commit-type: usability

show more ...

1...<<31323334353637383940>>...95