Use PetscTryTypeMethod when possible
Sys: add PetscSafePointerPlusOffset() to pacify UBSan
First batch of fixes
LIBBASE is no longer used in make so remove it
GAMG: Add GAMG smoother option to create ASMs with HEM coarsening
move PetscCD into private
Merge remote-tracking branch 'origin/release'
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptio
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptionsGetViewer(). In the previous code PetscObjectReference() anddereference (via PetscViewerDestroy() where called on the viewer by multiple threads after the viewerwas accessed thus corrupting the object.This branch introduces a PetscOptionsRestoreViewer() that allows not doing the referencing and dereferencingon persistant viewers, thus removing the specific race condition above.Other possible solutions includeUse a lock on each PetscObjectReference/Dereference() just in case they are shared. Could be time consuming so onecould mark each object as either threadshared or independent and only do the locks on threadshared objects. This lowersthe cost but would require more extensive changes to PETSc infrastructure. And I do not know if this shared/not shared modelis what we need in the long run, though it might be.
show more ...
MatCoarsen: make man page clearer
MatCoarsen-HEM: clean up and optimize
Merge branch 'barry/2023-11-06/doc-cleanup-man-page-processing' into 'main'Move doc/classic materials to doc/manualpagesSee merge request petsc/petsc!7000
Organize the Mat coloring, partitioning, coarsening, and ordering in a common directoryunder the SUBMANSEC of MatGraphOperations instead of MatOrderingsCommit-type: housekeeping
123