- General:
* Add single precision support for using HYPRE and MFEM
* Require Fortran 2003 compiler with `GET_COMMAND_ARGUMENT()` support
for building PETSc with Fortran bindings
- Sys:
* Add `PetscBench` an object class for managing benchmarks in PETSc
* Deprecate `PetscVoidFunction`, `PetscVoidStarFunction`, and
`PetscErrorCodeFunction` typedefs in favor of `PetscVoidFn` and
`PetscErrorCodeFn`.
* Add `PetscOptionsBoundedReal()` and `PetscOptionsRangeReal()`.
* Rename Petsc stream types to `PETSC_STREAM_DEFAULT`,
`PETSC_STREAM_NONBLOCKING`, `PETSC_STREAM_DEFAULT`_WITH_BARRIER` and
`PETSC_STREAM_NONBLOCKING_WITH_BARRIER`. The root device context uses
`PETSC_STREAM_DEFAULT` by default.
- PetscViewer:
* Change `PetscViewerRestoreSubViewer()` to no longer need a call to
`PetscViewerFlush()` after it.
* Introduce `PetscOptionsRestoreViewer()` that must be called after
`PetscOptionsGetViewer()` and `PetscOptionsGetViewers()` to ensure
thread safety.
* Add `PetscViewerASCIIWORLDSetFileUnit()`.
- VecScatter / PetscSF:
* Add MPI-4.0 persistent neighborhood collectives support. Use
`-sf_neighbor_persistent` along with `-sf_type` neighbor to enable it.
* Add `PetscSFCreateStridedSF()` to communicate strided blocks of data/
- Vec:
* Add `VecGhostGetGhostIS()` to get the ghost indices of a ghosted vector.
* Add `-vec_mdot_use_gemv` to let `VecMDot()`, `VecMTDot()` use BLAS2
`gemv()` instead of custom unrolled kernel. Default is on.
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=133