Changes: Development#
General:
Configure/Build:
Make
SYCLadevicePackage, i.e., builds--with-syclnow havePETSC_HAVE_DEVICEdefinedAdd the option
--with-devicelanguageto compilePetscDevicecode using either a C or C++ compiler
Sys:
Add
PetscCallHYPRE()to check HYPRE error codes and print error messages on failure
Event Logging:
Add two approaches for GPU energy monitoring:
-log_view_gpu_energyand-log_view_gpu_energy_meterAdd API
PetscLogGpuEnergy(),PetscLogGpuEnergyMeter(),PetscLogGpuEnergyMeterBegin()andPetscLogGpuEnergyMeterEnd()for GPU energy monitoring
PetscViewer:
Change the final argument of
PetscViewerGLVisSetFields()toPetscCtxDestroyFn *. This means the destroy function must dereference the argument before operating on it
PetscDraw:
AO:
IS:
VecScatter / PetscSF:
PF:
Vec:
PetscSection:
PetscPartitioner:
Mat:
Change the
destroy()function argument ofMatShellSetMatProductOperation()to typePetscCtxDestroyFn *. This means the destroy function must dereference the argument before operating on itRemove
MatMissingDiagonal(). Developers should useMatGetDiagonalMarkers_SeqXXX()when the functionality is neededChange
MatSetOption(A, MAT_HERMITIAN, PETSC_TRUE)forMatSBAIJto no longer automatically set the optionMAT_SYMMETRICtoPETSC_FALSE. It is now the duty of the user to callMatSetOption(A, MAT_SYMMETRIC, PETSC_FALSE)if aMatSBAIJis Hermitian but not symmetric
MatCoarsen:
PC:
Add multi-precision support for MUMPS. One could use
-pc_precision <single, double>to set the precision to be used by MUMPS, which can be different fromPetscScalar’s precision
KSP:
Remove
KSPHPDDMPrecisionin favor ofPetscPrecision
SNES:
Change the
destroy()function argument ofSNESSetConvergenceTest()to typePetscCtxDestroyFn *. This means the destroy function must dereference the argument before operating on it
SNESLineSearch:
TS:
Change the
destroy()function argument ofTSTrajectorySetTransform()to typePetscCtxDestroyFn *. This means the destroy function must dereference the argument before operating on itAdd
TSPseudoComputeFunction()to get nonlinear residual while avoiding recalculation if possibleRemove unused
TSPseudoVerifyTimeStepDefault()Remove
TSPseudoComputeTimeStep()andTSPseudoVerifyTimeStep()
TAO:
PetscRegressor:
DM/DA:
Change the final argument of
DMShellSetDestroyContext()toPetscCtxDestroyFn *. This means the destroy function must dereference the argument before operating on it
DMSwarm:
DMPlex:
FE/FV:
DMNetwork:
DMStag:
DT:
Fortran: