History log of /petsc/include/petsclog.h (Results 26 – 50 of 739)
Revision Date Author Comments
# a4963045 18-Aug-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Convert all header guards to pragma once


# b5b1a1b8 13-Aug-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-08-10/cannot-destroy-persistant-objects' into 'main'

(1) Fix error return codes for PetscHeaderCreate/Destroy() Cannot use || on them (2) do not allow destroying PETSC_VIEWE

Merge branch 'barry/2023-08-10/cannot-destroy-persistant-objects' into 'main'

(1) Fix error return codes for PetscHeaderCreate/Destroy() Cannot use || on them (2) do not allow destroying PETSC_VIEWER_STDOUT_SELF etc

See merge request petsc/petsc!6804

show more ...


# 47496788 10-Aug-2023 Barry Smith <bsmith@mcs.anl.gov>

Fix error return codes for PetscHeaderDestroy() Cannot use || on them

Commit-type: error-checking


# 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 ...


# 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 ...


# 6467efc9 13-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Profiling: Add trace implementation of PetscLogHandler

This is a minimal PetscLogHandler implementation for -log_trace.


# 19ef957c 13-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 ...


# 6873511f 13-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 ...


# 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 ...


# cf9512e4 17-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jolivet/fix-Wextra-semi-stmt' into 'main'

Fix -Wextra-semi-stmt

See merge request petsc/petsc!6708


# a8f51744 14-Jul-2023 Pierre Jolivet <pierre@joliv.et>

Fix -Wextra-semi-stmt


# 00188517 13-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-07-11/better-deprecated-macro' into 'main'

Feature: Uniform Deprecated Macro

See merge request petsc/petsc!6692


# edd03b47 11-Jul-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Apply new macros


# a663c1df 13-Apr-2023 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/release'


# 517f05f0 13-Apr-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-03-30/fix-include-man-pages/release' into 'release'

Fix manual pages in include files

See merge request petsc/petsc!6272


# 16a05f60 13-Apr-2023 Barry Smith <bsmith@mcs.anl.gov>

Fix manual pages in include files


# bc72246b 28-Mar-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jczhang/sf-mpix-stream' into 'main'

Support MPIX_Stream

See merge request petsc/petsc!6209


# 715b587b 17-Mar-2023 Junchao Zhang <jczhang@mcs.anl.gov>

PetscSF: add experimental support for MPICH MPIX_Stream


# ab17e8da 23-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-02-21/fix-sys-man-pages' into 'main'

Fix some system level manual pages

See merge request petsc/petsc!6104


# 667f096b 21-Feb-2023 Barry Smith <bsmith@mcs.anl.gov>

Fix some system level manual pages

Commit-type: documentation


12345678910>>...30