| 28559dc8 | 22-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Sys: add PetscCheckPointerSetIntensity -check_pointer_intensity
Offers run-time control over pointer checking. Intensity levels are
0. Never use a signal handler to check pointers 1. Use a sig
Sys: add PetscCheckPointerSetIntensity -check_pointer_intensity
Offers run-time control over pointer checking. Intensity levels are
0. Never use a signal handler to check pointers 1. Use a signal handler to check pointers when not in "hot" functions 2. Always use signal handler to check pointers
show more ...
|
| a2f94806 | 12-Sep-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Sys: add PetscFunctionBeginHot to switch to cheaper pointer checks
Some logging and debugging operations are expensive. In particular, applications can see order of magnitude slowdowns when PetscCh
Sys: add PetscFunctionBeginHot to switch to cheaper pointer checks
Some logging and debugging operations are expensive. In particular, applications can see order of magnitude slowdowns when PetscCheckPointer configures a special signal handler (debug builds only). Additionally, high-frequency events like MAT_SetValues are disabled by default because it can be expensive to profile.
My marking "hot" regions, we can turn off the expensive operations by default, but still have the ability to enable them at run-time. This commit adds PetscFunctionBeginHot, with logic in PetscCheckPointer to skip the check while inside a "hot" function.
Reported-by: Dave May <dave.mayhem23@gmail.com>
show more ...
|
| c82b4e47 | 23-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
PetscStack: use same definitions for PetscStack functions
If the user compiles their code with debugging, perhaps calling PetscStack functions, it would be useful for the implementations to make a b
PetscStack: use same definitions for PetscStack functions
If the user compiles their code with debugging, perhaps calling PetscStack functions, it would be useful for the implementations to make a best-effort at displaying the stack usefully when they subsequently LD_PRELOAD an optimized version of the library. These functions are tiny so code size is not an excuse for keeping the complexity of different versions.
show more ...
|