| #
e8e8640d
|
| 26-Sep-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/rm-first-empty-line' into 'main'
Remove first and last empty lines
See merge request petsc/petsc!6892
|
| #
92bec4ee
|
| 26-Sep-2023 |
Pierre Jolivet <pierre@joliv.et> |
Remove first and last empty lines
|
| #
33fbd385
|
| 22-Sep-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-log-nvtx' into 'main'
Profiling: Create PETSCLOGHANDLERNVTX (`-log_view` no longer required for Nsight ranges)
See merge request petsc/petsc!6884
|
| #
61cc7448
|
| 21-Sep-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: Create PETSCLOGHANDLERNVTX
|
| #
95b375eb
|
| 19-Aug-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jczhang/2023-08-17/fix-log-view-gpu-time' into 'main'
No need to register a finalizer for log_view_gpu_time
See merge request petsc/petsc!6824
|
| #
26c2bb22
|
| 19-Aug-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/fix-log-get-handler' into 'main'
Profiling: fix non-existence check in PetscLogGetHandler()
See merge request petsc/petsc!6825
|
| #
473903fc
|
| 18-Aug-2023 |
Junchao Zhang <jczhang@mcs.anl.gov> |
Sys: no need to register a finalizer for log_view_gpu_time
otherwise, PetscObjectRegisterDestroyAll() will change PetscLogGpuTimeFlag to false before PetscLogViewFromOptions(), causing "nan " in out
Sys: no need to register a finalizer for log_view_gpu_time
otherwise, PetscObjectRegisterDestroyAll() will change PetscLogGpuTimeFlag to false before PetscLogViewFromOptions(), causing "nan " in output.
show more ...
|
| #
0ba5dad9
|
| 18-Aug-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: use non-erroring behavior when default log handler is not running
The assumption is users would rather collect zero statistics than error their program if they have hard-coded function ca
Profiling: use non-erroring behavior when default log handler is not running
The assumption is users would rather collect zero statistics than error their program if they have hard-coded function calls to PetscLogEventGetPerfInfo() or PetscLogStageGetPerfInfo() that assume the default log handler is running.
show more ...
|
| #
1943a749
|
| 18-Aug-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: fix non-existence check in PetscLogGetHandler()
|
| #
93628023
|
| 10-Aug-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-log-get-stage-perf-info' into 'main'
Profiling: Add PetscLogStageGetPerfInfo() and PetscLogHandlerGetStagePerfInfo()
See merge request petsc/petsc!6779
|
| #
8b08f494
|
| 04-Aug-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: Add PetscLogStageGetPerfInfo() and PetscLogHandlerGetStagePerfInfo()
Data that was exposed in the now-deprecated `PetscStageLog` included some data that was only available from accessing
Profiling: Add PetscLogStageGetPerfInfo() and PetscLogHandlerGetStagePerfInfo()
Data that was exposed in the now-deprecated `PetscStageLog` included some data that was only available from accessing the fields of the struct that was never included in the functional interface.
We shouldn't try to duplicate the availability of all of that data, but the `stage_info->perfInfo` provided measurements about stages that we should continue to make available.
In keeping with recent changes, we make it available through
`PetscLogStageGetPerfInfo()`, which delegates to `PetscLogHandlerGetStagePerfInfo()`, which is implemented by `PETSCLOGHANDLERDEFAULT`.
Coverage test of this feature is added to src/sys/tests/ex68.c
show more ...
|
| #
6c37f76f
|
| 27-Jul-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-log-handler' into 'main'
Deglobalize logging into PetscLogHandler and PetscLogState
See merge request petsc/petsc!6709
|
| #
dff009be
|
| 24-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 ...
|
| #
294de794
|
| 20-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: Rename PETSC_LOG_HANDLER_XXX -> PETSCLOGHANDLERXXX
|
| #
cb9ef012
|
| 19-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Sys: add PetscASend(), PetscARecv() and PetscAReduce() to ex3f90.F90
Following the old conversation (https://lists.mcs.anl.gov/mailman/htdig/petsc-dev/2018-April/022750.html) this looks like the pro
Sys: add PetscASend(), PetscARecv() and PetscAReduce() to ex3f90.F90
Following the old conversation (https://lists.mcs.anl.gov/mailman/htdig/petsc-dev/2018-April/022750.html) this looks like the proper usage
show more ...
|
| #
ad2e3d55
|
| 14-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: Use PetscOptionsGetViewers() in -log_view
|
| #
b665b14e
|
| 18-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 ...
|
| #
2611ad71
|
| 14-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Profiling: Improve !defined(PETSC_USE_LOG) #defines
- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:
```c #if def
Profiling: Improve !defined(PETSC_USE_LOG) #defines
- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:
```c #if defined(PETSC_USE_LOG) PetscLogEvent event; #endif ```
- Having global counters like petsc_TotalFlops externed event if !PetscDefined(USE_LOG) helps to remove a lot of needless `#ifdef`s around code that can instead be placed in `if (PetscDefined(USE_LOG)) {}` blocks.
show more ...
|
| #
53e0a2f3
|
| 13-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 ...
|
| #
1c1ad86e
|
| 13-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 ...
|
| #
cfd92c66
|
| 22-Jul-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'tisaac/feature-type-generic-petsc-valid-pointer' into 'main'
Implement a type generic PetscValidPointer
See merge request petsc/petsc!6693
|
| #
4f572ea9
|
| 18-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Rename PetscValidPointer -> PetscAssertPointer
|
| #
7a2f837d
|
| 06-Jul-2023 |
Toby Isaac <toby.isaac@gmail.com> |
Deploy new PetscValidPointer, remove PetscValidXXXPointer
|
| #
02477ebb
|
| 15-Jul-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2023-06-30/enable-doc-lint' into 'main'
Enable docs linting
See merge request petsc/petsc!6667
|
| #
10450e9e
|
| 12-Jul-2023 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Manual linter fixes: sys
|