SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for petsc_3_21_2-gnu-mpich-hpc-devel-3.21.2-149.5.x86_64.rpm :

* Thu Jul 25 2024 andreas.stiegerAATTgmx.de- fix missing libyaml requirement of -devel package boo#1228280
* Tue Jun 18 2024 eichAATTsuse.com- Update to version 3.21: - 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.
* Add `-vec_maxpy_use_gemv` to let `VecMAXPY()` use BLAS2 `gemv()` instead of custom unrolled kernel. Default is off.
* `VecReplaceArray()` on the first Vec obtained from `VecDuplicateVecs()` with either of the two above
*_use_gemv options won’t work anymore. If needed, turn them off or use VecDuplicateVec() instead `VecScale()` is now a logically collective operation.
* Add `VecISShift()` to shift a part of the vector.
* `VecISSet()` does no longer accept NULL as index set.
* `VecLoad()` automatically determines whether the file was written using 32-bit or 64-bit indices, and files can read with PETSc built either way. - PetscSection:
* Add `PetscSectionGetBlockStarts()` and `PetscSectionSetBlockStarts()`.
* Add argument to `PetscSectionCreateGlobalSection()` that can ignore the local section permutation.
* Add `PetscSectionCreateComponentSubsection()`. - PetscPartitioner:
* Add edge weights to `PetscPartitionerPartition()` - Mat:
* Reset `MATLMVM` history vectors if size is changed.
* Add specific support for `MatMultHermitianTranspose()` and `MatMultHermitianTransposeAdd()` in `MATSHELL`, `MATDENSE`, `MATNEST`, and `MATSCALAPACK`
* Add function `MatProductGetAlgorithm()` `MATTRANSPOSEVIRTUAL`, `MATHERMITIANTRANSPOSEVIRTUAL`, `MATNORMAL`, `MATNORMALHERMITIAN` and `MATCOMPOSITE` now derive from `MATSHELL`. This implies a new behavior for those Mat, as calling `MatAssemblyBegin()`/ `MatAssemblyEnd()` destroys scalings and shifts for `MATSHELL`, but it was not previously the case for other `MatType`.
* Add function `MatGetRowSumAbs()` to compute vector of L1 norms of rows ([`B`]`AIJ` only).
* Add partial support for `MatBackwardSolve()`/`MatForwardSolve()` with `MATSOLVERMKL_PARDISO` and `MATSOLVERMKL_CPARDISO`.
* Deprecate `MATIS` options `-matis_xxx`. Use `-mat_is_xxx`.
* Add support for repeated entries in the local part of the local to global map for `MATIS` via the routines `MatISSetAllowRepeated()` and `MatISGetAllowRepeated()`.
* Add support to dump and load a matrix of `MATIS` type.
* Add dense representations of symmetric Broyden matrices `MATLMVMDBFGS`, `MATLMVMDDFP`, and `MATLMVMDQN`.
* Add `MATSELLHIP` and the corresponding HIP kernels for matrix-vector multiplication. - MatCoarsen:
* Add `MatCoarsenSetMaximumIterations()` with corresponding option `-mat_coarsen_max_it <4>`. The number of iteration of the coarsening method. Used for the HEM coarsener.
* Add `MatCoarsenSetThreshold()` with corresponding option `-mat_coarsen_threshold <-1>`. Threshold for filtering graph for HEM. Like GAMG < 0 means no filtering.
* Change API for several PetscCD methods used internally in `PCGAMG` and `MatCoarsen` (eg, change `PetscCDSetChuckSize()` to `PetscCDSetChunckSize()`), remove Mat argument from `PetscCDGetASMBlocks()`. - PC:
* Add `PCGAMGSetLowMemoryFilter()` with corresponding option `-pc_gamg_low_memory_threshold_filter`. Use the system `MatFilter` graph/matrix filter, without a temporary copy of the graph, otherwise use method that can be faster.
* Add `PCGAMGASMSetHEM()` with corresponding option `-pc_gamg_asm_hem_aggs N`. Use ASM smoother constructed from N applications of heavy edge matching.
* `PCMAT` use `MatSolve()` if implemented by the matrix type.
* Add `PCLMVMSetUpdateVec()` for the automatic update of the LMVM preconditioner inside a SNES solve.
* Add `PCGAMGSetInjectionIndex()` with corresponding option `-pc_gamg_injection_index i,j,k...`. Inject provided indices of fine grid operator as first coarse grid restriction (sort of p-multigrid for C1 elements).
* Add `PC_JACOBI_ROWL1` to `PCJacobiType` to use (scaled) l1 row norms for diagonal approximation with scaling of off-diagonal elements.
* Add `PCJacobiSetRowl1Scale()` and `-pc_jacobi_rowl1_scale` scale to access new scale member of PC_Jacobi class, for new row l1 Jacobi.
* Add `-mg_fine_...` prefix alias for fine grid options to override `-mg_levels_...` options, like `-mg_coarse_...`.
* The generated sub-matrices in `PCFIELDSPLIT`, `PCASM`, and `PCBJACOBI` now retain any null space or near null space attached to them even if the non-zero structure of the outer matrix changes.
* Add support for multiple subdomain per MPI process in `PCBDDC`.
* Add `PCJacobiGetDiagonal()` to access the Jacobi inverted matrix diagonal and its square root variant. - SNES:
* Add support for Quasi-Newton models in `SNESNEWTONTR` via `SNESNewtonTRSetQNType`.
* Add support for trust region norm customization in `SNESNEWTONTR` via `SNESNewtonTRSetNormType`.
* Remove default of `KSPPREONLY` and `PCLU` for `SNESNASM` subdomain solves: for `SNESASPIN` use `-npc_sub_ksp_type preonly -npc_sub_pc_type lu`.
* Add function typedefs `SNESInitialGuessFn`, `SNESFunctionFn`, `SNESObjectiveFn`, `SNESJacobianFn`, and `SNESNGSFn`.
* Deprecate `DMDASNESFunction`, `DMDASNESJacobian`, `DMDASNESObjective`, `DMDASNESFunctionVec`, `DMDASNESJacobianVec`, and `DMDASNESObjectiveVec` in favor of `DMDASNESFunctionFn`, `DMDASNESJacobianFn`, `DMDASNESObjectiveFn`, `DMDASNESFunctionVecFn`, `DMDASNESJacobianVecFn`, and `DMDASNESObjectiveVecFn`. - SNESLineSearch:
* Deprecate `SNESLineSearchShellSetUserFunc()` and `SNESLineSearchShellGetUserFunc()` in favor of `SNESLineSearchShellSetApply()` and `SNESLineSearchShellGetApply()`. - TS:
* Add support for custom predictor callbacks in the second-order generalized-alpha method using `TSAlpha2SetPredictor()`.
* Allow adaptivity to change time step size in first step of second-order generalized-alpha method.
* Add `TSSetPostEventStep()` to control the first step after event.
* Rename `TSSetPostEventIntervalStep()` to `TSSetPostEventSecondStep()`, controlling the second step after event.
* Rename option `-ts_event_post_eventinterval_step` to `-ts_event_post_event_second_step`.
* Change the (event) indicator functions type from `PetscScalar[]` to `PetscReal[]` in the user `indicator()` callback set by `TSSetEventHandler()`.
* Add `TSGetStepRollBack()` to access the internal rollback flag.
* Add boolean flag to TSSetResize() to control when to resize. - TAO:
* Deprecate `TaoCancelMonitors()` (resp. `-tao_cancelmonitors`) in favor of `TaoMonitorCancel()` (resp. `-tao_monitor_cancel`).
* Deprecate `-tao_view_gradient`, `-tao_view_ls_residual`, `-tao_view_solution`, and `-tao_view_stepdirection` in favor of `-tao_monitor_gradient`, `-tao_monitor_ls_residual`, `-tao_monitor_solution`, and `-tao_monitor_step`.
* Deprecate `-tao_draw_solution`, `-tao_draw_gradient`, and `-tao_draw_step` in favor of `-tao_monitor_solution_draw`, `-tao_monitor_gradient_draw`, and `-tao_monitor_step_draw`.
* Deprecate `TaoSetMonitor()` in favor of `TaoMonitorSet()`.
* Deprecate all of the provided Tao monitor routine names in favor of the standard PETSc naming conventions. - DM/DA:
* Add MPI reduction inside `SNESComputeObjective_DMDA()`. No need to call reduction in local callback.
* Deprecate `PetscSimplePointFunc` in favor of `PetscSimplePointFn`.
* Move `DMPlexReorderDefaultFlag` to `DMReorderDefaultFlag`.
* Add `DMCreateSectionPermutation()`, `DMReorderSectionGetType()`, and `DMReorderSectionSetType()`.
* Add `DMReorderSectionGetDefault()` and `DMReorderSectionSetDefault()` to allow point permutations when sections are built automatically.
* Change interface to `DMCreateSectionSubDM()` to add component specification.
* Add DMDAGetBoundaryType(). - DMSwarm:
* Add continuous DM argument to `DMSwarmProjectFields()`.
* Add `DMSwarmGetFieldInfo()`.
* Add `DMSwarmVectorGetField()`. - DMPlex:
* Drop support for MED, i.e. remove `DMPlexCreateMedFromFile()` and `--with-med`.
* Change protototype of `DMPlexSetSNESLocalFEM()`. Now it accepts a single context and a Boolean indicating to use the objective function callback.
* Replace `DMProjectCoordinates()` with `DMSetCoordinateDisc()`.
* Add argument to `DMPlexCreateCoordinateSpace()`.
* Add `DMPlexCoordMap` and some default maps.
* Add Boolean argument to `DMPlexPartitionLabelCreateSF()` to sort ranks.
* Add `DMClearAuxiliaryVec()` to clear the auxiliary data.
* Add `ignoreLabelHalo`, `sanitizeSubmesh`, and `ownershipTransferSF` arguments to `DMPlexFilter()`.
* Change `DMPlexSetIsoperiodicFaceSF()`, `DMPlexGetIsoperiodicFaceSF()`, and `DMPlexSetIsoperiodicFaceTransform()` to accept multiple values for different periodic pairings. - FE/FV:
* Add Jacobian type argument to `PetscFEIntegrateBdJacobian()`.
* Add `PetscFVClone()`.
* Add `PetscFVCreateDualSpace()`. - DMStag:
* Add support for `DMLocalToLocalBegin()` and `DMLocalToLocalEnd()`.
* Add `DMStagSetRefinementFactor()` and `DMStagGetRefinementFactor()` to set and get the refinement ratio.
* Add support for arbitrary refinement ratio and degree of freedom in interpolation and restriction. - DT:
* Add `PetscDSUpdateBoundaryLabels()`.- Update to version 3.20: - General:
* Add `PetscOptionsBegin()`, `PetscOptionsEnd()`, `PetscOptionsInt()`, `PetscOptionsBool()`, `PetscOptionsIntArray()`, `PetscOptionsReal()`, `PetscOptionsRealArray()`, and `PetscOptionsScalar()` for Fortran.
* Add `PetscAssertPointer()` as a replacement for `PetscValidPointer()`, `PetscValidCharPointer()`, `PetscValidIntPointer()`, `PetscValidInt64Pointer()`, `PetscValidCountPointer()`, `PetscValidBoolPointer()`, `PetscvalidScalarPointer()`, and `PetscValidRealPointer()`.
* Convert standard header-guards in PETSc header-files to `#pragma` once. Users relying on specific preprocessor definitions to determine whether particular PETSc headers (e.g. `petscdm.h` used to be guarded by PETSCDM_H) have been included will find that this no longer works. While header-guards are technically “public” (insofar that they appear in public header-files), their name and value are considered implementation details. - Sys:
* Add `PetscDeviceContextGetStreamHandle()` to return a handle to the stream the current device context is using.
* Add utility functions `PetscGetCurrentCUDAStream()` and `PetscGetCurrentHIPStream()` to return the GPU stream the current device context is using.
* Add `PetscStrcmpAny()` to compare against multiple non-empty strings.
* Change arguments 4 and 5 of `PetscViewerBinaryReadAll()` and `PetscViewerBinaryWriteAll()` to `PetscInt64`.
* Add `PetscIsCloseAtTolScalar()`.
* Remove `PetscTellMyCell()` and related runtime option.
* Remove `PetscTextBelt()` and related runtime option.
* Remove deprecated `-malloc [no]` startup option.
* Remove deprecated `-malloc_info` startup option.
* Remove deprecated `-log_summary` option.
* Remove `PetscURLShorten()`, it has not worked since 2019. Move `PetscIntStackCreate()`, `PetscIntStackDestroy()`, `PetscIntStackPush()`, `PetscIntStackPop()`, and `PetscIntStackEmpty()` declarations to public API in `petsclog.h`.
* Add `-on_error_malloc_dump` option. - Event Logging:
* Add `PetscLogState` interface for describing profiling events and stages.
* Add `PetscLogHandler` interface that interprets the profiling events of a `PetscLogState`.
* Add `PETSCLOGHANDLERDEFAULT` implementation of `PetscLogHandler`.
* Add `PETSCLOGHANDLERNESTED` implementation of `PetscLogHandler`.
* Add `PETSCLOGHANDLERTRACE` implementation of `PetscLogHandler`.
* Add `PetscLogHandlerCreateTrace()`.
* Add `PETSCLOGHANDLERMPE` implementation of `PetscLogHandler`.
* Add `PETSCLOGHANDLERPERFSTUBS` implementation of `PetscLogHandler`.
* Add `PETSCLOGHANDLERLEGACY` implementation of `PetscLogHandler`.
* Add `PetscLogHandlerCreateLegacy()`.
* Add `PetscLogPerfstubsBegin()` for log handling with PerfStubs/TAU.
* Add `PetscLogLegacyCallbacksBegin()` to transition old log handler callbacks to the PetscLogHandler-based approach.
* Add `PetscLogHandlerStart()` to connect a `PetscLogHandler` to PETSc’s global logging events.
* Add `PetscLogStageGetName()`.
* Add `PetscLogEventGetName()`.
* Add `PetscLogEventsPause()` and `PetscLogEventsResume()` to isolate a logging event from unrelated in-process events.
* Add `PetscLogClassGetClassId()`.
* Add `PetscLogClassIdGetName()`.
* Deprecate `PetscLogClassPerfInfoClear()` , `PetscLogClassPerfLogCreate()`, and `PetscLogClassPerfLogDestroy()`.
* Deprecate `PetscClassPerfLogEnsureSize()`, `PetscClassRegInfoDestroy()`, `PetscClassRegLogCreate()`, `PetscClassRegLogDestroy()`, `PetscClassRegLogGetClass()`, and `PetscClassRegLogRegister()`.
* Deprecate `PetscEventPerfInfoClear()` and `PetscEventPerfInfoCopy()`.
* Deprecate `PetscEventPerfLogActivate()`, `PetscEventPerfLogActivateClass()`, `PetscEventPerfLogCreate()`, `PetscEventPerfLogDeactivate()`, `PetscEventPerfLogDeactivateClass()`, `PetscEventPerfLogDeactivatePop()`, `PetscEventPerfLogDeactivatePush()`, `PetscEventPerfLogDestroy()`, `PetscEventPerfLogEnsureSize()`, `PetscEventPerfLogGetVisible()`, and `PetscEventPerfLogSetVisible()`.
* Deprecate `PetscEventRegLogCreate()`, `PetscEventRegLogDestroy()`, `PetscEventRegLogGetEvent()`, and `PetscEventRegLogRegister()`.
* Deprecate `PetscStageLogCreate()`, `PetscStageLogDestroy()`, `PetscStageLogGetActive()`, `PetscStageLogGetClassPerfLog()`, `PetscStageLogGetClassRegLog()`, `PetscStageLogGetEventRegLog()`, `PetscStageLogGetStage()`, `PetscStageLogGetVisible()`, `PetscStageLogPop()`, `PetscStageLogPush()`, `PetscStageLogRegister()`, `PetscStageLogSetActive()`, `PetscStageLogSetVisible()`, `PetscStageLogGetCurrent()`, and `PetscStageLogGetEventPerfLog()`.
* Deprecate `PetscLogGetStageLog()`.
* Deprecate `PetscLogPushCurrentEvent_Internal()`.
* Deprecate `PetscLogPopCurrentEvent_Internal()`.
* Deprecate `PetscLogAllBegin()`.
* Deprecate `PetscLogSet()`.
* Add `PetscLogHandlerGetEventPerfInfo()`.
* Add `PetscLogHandlerSetLogActions()`.
* Add `PetscLogHandlerSetLogObjects()`.
* Add `PetscLogHandlerLogObjectState()`.
* Add `PetscLogHandlerGetNumObjects()`.
* Add `PetscLogHandlerEventDeactivatePush()`.
* Add `PetscLogHandlerEventDeactivatePop()`.
* Add `PetscLogHandlerEventsPause()`.
* Add `PetscLogHandlerEventsResume()`.
* Add `PetscLogHandlerDump()`.
* Add `PetscLogHandlerStageSetVisible()`.
* Add `PetscLogHandlerStageGetVisible()`.
* Add `PetscLogHandlerGetStagePerfInfo()`.
* Add `PetscLogStageGetPerfInfo()`.
* Add `PETSCLOGHANDLERNVTX` implementation of `PetscLogHandler`. - PetscViewer:
* Add `PetscViewerASCIIOpenWithFileUnit()` and `PetscViewerASCIISetFileUnit()`. - Vec:
* Add `VecErrorWeightedNorms()` to unify weighted local truncation error norms used in TS.
* Add CUDA/HIP implementations for `VecAbs()`, `VecSqrt()`, `VecExp()`, `VecLog()`, `VecPointwiseMax()`, `VecPointwiseMaxAbs()`, and `VecPointwiseMin()`.
* Add `VecMAXPBY()`.
* Deprecate `VecChop()` in favor of `VecFilter()`.
* Add `VecCreateFromOptions()`. - Mat:
* Add `MatCreateDenseFromVecType()`.
* Add support for calling `MatDuplicate()` on a matrix preallocated via `MatSetPreallocationCOO()`, and then `MatSetValuesCOO()` on the new matrix.
* Remove MATSOLVERSPARSEELEMENTAL since it is no longer functional
* Add `MATSELLCUDA`. It supports fast `MatMult()`, `MatMultTranspose()`, and `MatMultAdd()` on GPUs.
* Add support for `MAT_FACTOR_LU` and `MAT_FACTOR_CHOLESKY` with `MATSOLVERMUMPS` for `MATNEST`.
* `MatGetFactor()` can now return NULL for some combinations of matrices and solvers types. This is to support those combinations that can only be inspected at runtime (i.e. MatNest with AIJ blocks vs MatNest with SHELL blocks).
* Remove `MatSetValuesDevice()`, `MatCUSPARSEGetDeviceMatWrite()`, `MatKokkosGetDeviceMatWrite`.
* Add `MatDenseCUDASetPreallocation()` and `MatDenseHIPSetPreallocation()`.
* Add support for `KOKKOS` in `MATH2OPUS`.
* Add `-pc_precision` single option for use with `MATSOLVERSUPERLU_DIST`.
* Add `MATDIAGONAL` which can be created with `MatCreateDiagonal()`.
* Add `MatDiagonalGetDiagonal()`, `MatDiagonalRestoreDiagonal()`, `MatDiagonalGetInverseDiagonal()`, and `MatDiagonalRestoreInverseDiagonal()`.
* Add support for `MatLoad()` and `MatView()` to load and store `MATMPIAIJ` matrices that have more than `PETSC_INT_MAX` nonzeros, so long as each rank has fewer than `PETSC_INT_MAX`.
* Add `MatLRCSetMats()` and register creation routine for `MatLRC`.
* Add CUDA/HIP implementation for `MatGetDiagonal()`.
* Add a Boolean parameter to `MatEliminateZeros()` to force the removal of zero diagonal coefficients.
* Expose `MatComputeVariableBlockEnvelope()` in public headers.
* Add `MatEliminateZeros()` implementations for `MatBAIJ` and `MatSBAIJ`.
* Deprecate `MatChop()` in favor of `MatFilter()`, with two additional Boolean parameters to compress the underlying storage and keep or discard near-zero diagonal coefficients.
* Add `MatCreateFromOptions()`.
* Add `MatSTRUMPACKGetReordering()`, `MatSTRUMPACKSetGeometricNxyz()`, `MatSTRUMPACKSetGeometricComponents()`, `MatSTRUMPACKSetGeometricWidth()`, `MatSTRUMPACKGetColPerm()`, `MatSTRUMPACKSetGPU()`, `MatSTRUMPACKGetGPU()`, `MatSTRUMPACKSetCompression()`, `MatSTRUMPACKGetCompression()`, `MatSTRUMPACKSetCompRelTol()`, `MatSTRUMPACKGetCompRelTol()`, `MatSTRUMPACKSetCompAbsTol()`, `MatSTRUMPACKGetCompAbsTol()`, `MatSTRUMPACKSetCompMinSepSize()`, `MatSTRUMPACKGetCompMinSepSize()`, `MatSTRUMPACKSetCompLeafSize()`, `MatSTRUMPACKGetCompLeafSize()`, `MatSTRUMPACKSetCompLossyPrecision()`, `MatSTRUMPACKGetCompLossyPrecision()`, `MatSTRUMPACKSetCompButterflyLevels()`, `MatSTRUMPACKGetCompButterflyLevels()`.
* Add `MAT_STRUMPACK_GEOMETRIC`, `MAT_STRUMPACK_AMD`, `MAT_STRUMPACK_MMD`, `MAT_STRUMPACK_AND`, `MAT_STRUMPACK_MLF`, `MAT_STRUMPACK_SPECTRAL` to `MatSTRUMPACKReordering`.
* Add `MatSTRUMPACKCompressionType`.
* Remove `MatSTRUMPACKSetHSSLeafSize()`, `MatSTRUMPACKSetHSSMaxRank()`, `MatSTRUMPACKSetHSSMinSize()`, `MatSTRUMPACKSetHSSMinSepSize()`, `MatSTRUMPACKSetHSSAbsTol()`, `MatSTRUMPACKSetHSSRelCompTol()`, `MatSTRUMPACKSetHSSRelTol()`. - PC:
* Add `PCMatGetApplyOperation()` and `PCMatSetApplyOperation()`.
* Add `PCReduceFailedReason()`.
* Add `PCSetKSPNestLevel()` and `PCSetKSPNestLevel()`.
* Refactor PCMPI to be a private system used automatically when `-mpi_linear_solver_server` is used. The KSP and PC objects that solve the system now inherit any prefix provided initially with `KSPSetPrefix()` and do not require the previously required `mpi_` prefix.
* Add option `-fieldsplit_1_pc_hpddm_schur_precondition` to use `PCHPDDM` on the Schur complements from `PCFIELDSPLIT`.
* Add `PCGAMGSetAggressiveSquareGraph()` to use square graph method for aggressive coarsening that was the previous default coarsening approach before release 3.19.
* Add `PCGAMGSetAggressiveMISk()` to set the number of levels (k) of aggressive MIS-k coarseing (2 is very common).
* Add `PCGAMGSetMinDegreeOrderingMISk()` to use a minimum degree ordering for the (greedy) MIS-k algorithm.
* Change `PCGAMGSetUseParallelCoarseGridSolve()` to `PCGAMGSetParallelCoarseGridSolve()`.
* Add `PCGAMGSetRecomputeEstEig()` to set flag to have Chebyshev recompute its eigen estimates (default set to true). - KSP:
* Add `KSPSetMinimumIterations()` and `KSPGetMinimumIterations()`.
* Add `KSPSetNestLevel()` and `KSPGetNestLevel()`.
* Support `KSPSetInitialGuessNonzero()` with `KSPPREONLY` and `PCDISTRIBUTE` when it is called on both the outer and inner KSP. - SNES:
* Add a convenient, developer-level SNESConverged() function that runs the convergence test and updates the internal converged reason.
* Swap the order of monitor and convergence test. Now monitors are always called after a convergence test.
* Deprecate option -snes_ms_norms in favor of -snes_norm_schedule always. - TS:
* Remove `TSErrorWeightedNormInfinity()`, `TSErrorWeightedNorm2()`, `TSErrorWeightedENormInfinity()`, `TSErrorWeightedENorm2()` since the same functionality can be obtained with `VecErrorWeightedNorms()`.
* Add support for time-dependent solvers with varying solution size using `TSSetResize()`.
* Add support for Diagonally Implicit Runge-Kutta methods with the new `TSDIRK` type. - TAO:
* Add `TaoADMMGetRegularizerCoefficient()`.
* Add `TAOBNCG`, `TaoBNCGGetType()` and `TaoBNCGSetType()`. - DM/DA:
* Add support for `DMDAGetElements()` for Fortran.
* Add support for clearing named vectors with `DMClearNamedGlobalVectors()` and `DMClearNamedLocalVectors()`.
* Add `DMPrintCellIndices()` for debugging.
* Add `DMUseTensorOrder()`.
* Add `DMCeedCreate()`, `DMCeedComputeGeometry()`, and `DMCeedDestroy()`. - DMSwarm:
* Add scatter mode to `DMSwarmProjectFields()` and no longer create vectors.
* Promote `DMSwarmDataFieldGetEntries()`, `DMSwarmDataFieldRestoreEntries()`, `DMSwarmDataBucketGetDMSwarmDataFieldByName()`, `DMSwarmDataBucketGetDMSwarmDataFieldIdByName()`, and `DMSwarmDataBucketQueryDMSwarmDataFieldByName()` to public interface. - DMPlex:
* Add `DMPlexTransformExtrudeGetPeriodic()` and `DMPlexTransformExtrudeSetPeriodic()`.
* Replace `DMPlexGetGhostCellStratum()` with `DMPlexGetCellTypeStratum()`.
* Add `DMPlexSetUseMatClosurePermutation()` and `DMPlexGetUseMatClosurePermutation()`.
* Add `DMPlexGetUseCeed()`, `DMPlexSetUseCeed()`, and `DMPlexSNESComputeResidualCEED()`.
* Add `DMPlexSNESComputeResidualDS()`. - FE/FV:
* Add `PLEXFE_QFUNCTION` macro to create CEED QFunctions from Plex pointwise functions. - DMNetwork:
* Add `DMNetworkViewSetShowRanks()`, `DMNetworkViewSetViewRanks()`, `DMNetworkViewSetShowGlobal()`, `DMNetworkViewSetShowVertices()`, `DMNetworkViewSetShowNumbering()`.
* Add `-dmnetwork_view_all_ranks`, `-dmnetwork_view_rank_range`, `-dmnetwork_view_no_vertices`, `-dmnetwork_view_no_numbering`, for viewing DMNetworks with the Matplotlib viewer.
* Add `-dmnetwork_view_zoomin_vertices` `-dmnetwork_view_zoomin_vertices_padding` for viewing `DMNetworks` with the Matplotlib viewer. - DT:
* Add `PETSCFEVECTOR` for making a finite element that is a vector of copies of another finite element.
* Add `PetscFECreateVector()`.
* Add `PETSCDUALSPACESUM` for a finite element dual basis that is the sum of other dual bases.
* Add `PetscDualSpaceCreateSum()`.
* Add `PetscDualSpaceSumSetNumSubspaces()`.
* Add `PetscDualSpaceSumGetNumSubspaces()`.
* Add `PetscDualSpaceSumSetSubspace()`.
* Add `PetscDualSpaceSumGetSubspace()`.
* Add `PetscDualSpaceSumSetConcatenate()`.
* Add `PetscDualSpaceSumGetConcatenate()`.
* Add `PetscDualSpaceSumSetInterleave()`.
* Add `PetscDualSpaceSumGetInterleave()`.
* Add `PetscSpaceSumSetInterleave()`.
* Add `PetscSpaceSumGetInterleave()`.
* Add `PetscDualSpaceGetInteriorSection()`. - Fortran:
* Add `PetscCheck()` and `PetscCheckA()` for Fortran.
* Change `PETSC_HAVE_FORTRAN` to `PETSC_USE_FORTRAN_BINDINGS` to indicate if PETSc is built with Fortran bindings.- Update to version 3.19: - General:
* Add `PetscOptionsBegin()`, `PetscOptionsEnd()`, `PetscOptionsInt()`, `PetscOptionsBool()`, `PetscOptionsIntArray()`, `PetscOptionsReal()`, `PetscOptionsRealArray()`, and `PetscOptionsScalar()` for Fortran.
* Add `PetscAssertPointer()` as a replacement for `PetscValidPointer()`, `PetscValidCharPointer()`, `PetscValidIntPointer()`, `PetscValidInt64Pointer()`, `PetscValidCountPointer()`, `PetscValidBoolPointer()`, `PetscvalidScalarPointer()` and `PetscValidRealPointer()`.
* Convert standard header-guards in PETSc header-files to `#pragma once`. Users relying on specific preprocessor definitions to determine whether particular PETSc headers (e.g. `petscdm.h` used to be guarded by `PETSCDM_H`) have been included will find that this no longer works. While header-guards are technically \"public\" (insofar that they appear in public header-files), their name and value are considered implementation details. - Sys:
* Add `PetscDeviceContextGetStreamHandle()` to return a handle to the stream the current device context is using.
* Add utility functions `PetscGetCurrentCUDAStream()` and `PetscGetCurrentHIPStream()` to return the GPU stream the current device context is using.
* Add `PetscStrcmpAny()` to compare against multiple non-empty strings.
* Change arguments 4 and 5 of `PetscViewerBinaryReadAll()` and `PetscViewerBinaryWriteAll()` to `PetscInt64`.
* Add `PetscIsCloseAtTolScalar()`.
* Remove `PetscTellMyCell()` and related runtime option.
* Remove `PetscTextBelt()` and related runtime option.
* Remove deprecated `-malloc [no]` startup option.
* Remove deprecated `-malloc_info` startup option.
* Remove deprecated `-log_summary` option.
* Remove `PetscURLShorten()`, it has not worked since 2019.
* Move `PetscIntStackCreate()`, `PetscIntStackDestroy()`, `PetscIntStackPush()`, `PetscIntStackPop()`, and `PetscIntStackEmpty()` declarations to public API in `petsclog.h`.
* Add `-on_error_malloc_dump` option. - Event Logging:
* Add `PetscLogState` interface for describing profiling events and stages
* Add `PetscLogHandler` interface that interprets the profiling events of a `PetscLogState`
* Add `PETSCLOGHANDLERDEFAULT` implementation of `PetscLogHandler`
* Add `PETSCLOGHANDLERNESTED` implementation of `PetscLogHandler`
* Add `PETSCLOGHANDLERTRACE` implementation of `PetscLogHandler`
* Add `PetscLogHandlerCreateTrace()`
* Add `PETSCLOGHANDLERMPE` implementation of `PetscLogHandler`
* Add `PETSCLOGHANDLERPERFSTUBS` implementation of `PetscLogHandler`
* Add `PETSCLOGHANDLERLEGACY` implementation of `PetscLogHandler`
* Add `PetscLogHandlerCreateLegacy()`
* Add `PetscLogPerfstubsBegin()` for log handling with PerfStubs/TAU
* Add `PetscLogLegacyCallbacksBegin()` to transition old log handler callbacks to the `PetscLogHandler`-based approach
* Add `PetscLogHandlerStart()` to connect a `PetscLogHandler` to PETSc\'s global logging events.
* Add `PetscLogStageGetName()`.
* Add `PetscLogEventGetName()`.
* Add `PetscLogEventsPause()` and `PetscLogEventsResume()` to isolate a logging event from unrelated in-process events.
* Add `PetscLogClassGetClassId()`.
* Add `PetscLogClassIdGetName()`.
* Deprecate `PetscLogClassPerfInfoClear()`, `PetscLogClassPerfLogCreate()`, and `PetscLogClassPerfLogDestroy()`.
* Deprecate `PetscClassPerfLogEnsureSize()`, `PetscClassRegInfoDestroy()`, `PetscClassRegLogCreate()`, `PetscClassRegLogDestroy()`, `PetscClassRegLogGetClass()`, and `PetscClassRegLogRegister()`.
* Deprecate `PetscEventPerfInfoClear()` and `PetscEventPerfInfoCopy()`.
* Deprecate `PetscEventPerfLogActivate()`, `PetscEventPerfLogActivateClass()`, `PetscEventPerfLogCreate()`, `PetscEventPerfLogDeactivate()`, `PetscEventPerfLogDeactivateClass()`, `PetscEventPerfLogDeactivatePop()`, `PetscEventPerfLogDeactivatePush()`, `PetscEventPerfLogDestroy()`, `PetscEventPerfLogEnsureSize()`, `PetscEventPerfLogGetVisible()`, and `PetscEventPerfLogSetVisible()`.
* Deprecate `PetscEventRegLogCreate()`, `PetscEventRegLogDestroy()`, `PetscEventRegLogGetEvent()`, and `PetscEventRegLogRegister()`.
* Deprecate `PetscStageLogCreate()`, `PetscStageLogDestroy()`, `PetscStageLogGetActive()`, `PetscStageLogGetClassPerfLog()`, `PetscStageLogGetClassRegLog()`, `PetscStageLogGetEventRegLog()`, `PetscStageLogGetStage()`, `PetscStageLogGetVisible()`, `PetscStageLogPop()`, `PetscStageLogPush()`, `PetscStageLogRegister()`, `PetscStageLogSetActive()`, `PetscStageLogSetVisible()`, `PetscStageLogGetCurrent()`, and `PetscStageLogGetEventPerfLog()`.
* Deprecate `PetscLogGetStageLog()`.
* Deprecate `PetscLogPushCurrentEvent_Internal()`.
* Deprecate `PetscLogPopCurrentEvent_Internal()`.
* Deprecate `PetscLogAllBegin()`.
* Deprecate `PetscLogSet()`.
* Add `PetscLogHandlerGetEventPerfInfo()`.
* Add `PetscLogHandlerSetLogActions()`.
* Add `PetscLogHandlerSetLogObjects()`.
* Add `PetscLogHandlerLogObjectState()`.
* Add `PetscLogHandlerGetNumObjects()`.
* Add `PetscLogHandlerEventDeactivatePush()`.
* Add `PetscLogHandlerEventDeactivatePop()`.
* Add `PetscLogHandlerEventsPause()`.
* Add `PetscLogHandlerEventsResume()`.
* Add `PetscLogHandlerDump()`.
* Add `PetscLogHandlerStageSetVisible()`.
* Add `PetscLogHandlerStageGetVisible()`.
* Add `PetscLogHandlerGetStagePerfInfo()`.
* Add `PetscLogStageGetPerfInfo()`.
* Add `PETSCLOGHANDLERNVTX` implementation of `PetscLogHandler`. - PetscViewer:
* Add `PetscViewerASCIIOpenWithFileUnit()` and `PetscViewerASCIISetFileUnit()`. - Vec:
* Add `VecErrorWeightedNorms()` to unify weighted local truncation error norms used in `TS`.
* Add CUDA/HIP implementations for `VecAbs()`, `VecSqrt()`, `VecExp()`, `VecLog()`, `VecPointwiseMax()`, `VecPointwiseMaxAbs()` and `VecPointwiseMin()`.
* Add `VecMAXPBY()`.
* Deprecate `VecChop()` in favor of `VecFilter()`.
* Add `VecCreateFromOptions()`. - PetscSection:
* Add `PetscSectionResetClosurePermutation()`. - Mat:
* Add `MatCreateDenseFromVecType()`.
* Add support for calling `MatDuplicate()` on a matrix preallocated via `MatSetPreallocationCOO()`, and then `MatSetValuesCOO()` on the new matrix.
* Remove `MATSOLVERSPARSEELEMENTAL` since it is no longer functional.
* Add `MATSELLCUDA`. It supports fast `MatMult()`, `MatMultTranspose()`, and `MatMultAdd()` on GPUs.
* Add support for `MAT_FACTOR_LU` and `MAT_FACTOR_CHOLESKY` with `MATSOLVERMUMPS` for `MATNEST`.
* `MatGetFactor()` can now return `NULL` for some combinations of matrices and solvers types. This is to support those combinations that can only be inspected at runtime (i.e. MatNest with AIJ blocks vs MatNest with SHELL blocks).
* Remove `MatSetValuesDevice()`, `MatCUSPARSEGetDeviceMatWrite()`, `MatKokkosGetDeviceMatWrite`
* Add `MatDenseCUDASetPreallocation()` and `MatDenseHIPSetPreallocation()`.
* Add support for KOKKOS in `MATH2OPUS`.
* Add `-pc_precision single` option for use with `MATSOLVERSUPERLU_DIST`.
* Add `MATDIAGONAL` which can be created with `MatCreateDiagonal()`.
* Add `MatDiagonalGetDiagonal()`, `MatDiagonalRestoreDiagonal()`, `MatDiagonalGetInverseDiagonal()`, and `MatDiagonalRestoreInverseDiagonal()`.
* Add support for `MatLoad()` and `MatView()` to load and store `MATMPIAIJ` matrices that have more than `PETSC_INT_MAX` nonzeros, so long as each rank has fewer than `PETSC_INT_MAX`.
* Add `MatLRCSetMats()` and register creation routine for `MatLRC`.
* Add CUDA/HIP implementation for `MatGetDiagonal()`.
* Add a Boolean parameter to `MatEliminateZeros()` to force the removal of zero diagonal coefficients.
* Expose `MatComputeVariableBlockEnvelope()` in public headers.
* Add `MatEliminateZeros()` implementations for `MatBAIJ` and `MatSBAIJ`.
* Deprecate `MatChop()` in favor of `MatFilter()`, with two additional Boolean parameters to compress the underlying storage and keep or discard near-zero diagonal coefficients.
* Add `MatCreateFromOptions()`.
* Add `MatSTRUMPACKGetReordering()`, `MatSTRUMPACKSetGeometricNxyz()`, `MatSTRUMPACKSetGeometricComponents()`, `MatSTRUMPACKSetGeometricWidth()`, `MatSTRUMPACKGetColPerm()`, `MatSTRUMPACKSetGPU()`, `MatSTRUMPACKGetGPU()`, `MatSTRUMPACKSetCompression()`, `MatSTRUMPACKGetCompression()`, `MatSTRUMPACKSetCompRelTol()`, `MatSTRUMPACKGetCompRelTol()`, `MatSTRUMPACKSetCompAbsTol()`, `MatSTRUMPACKGetCompAbsTol()`, `MatSTRUMPACKSetCompMinSepSize()`, `MatSTRUMPACKGetCompMinSepSize()`, `MatSTRUMPACKSetCompLeafSize()`, `MatSTRUMPACKGetCompLeafSize()`, `MatSTRUMPACKSetCompLossyPrecision()`, `MatSTRUMPACKGetCompLossyPrecision()`, `MatSTRUMPACKSetCompButterflyLevels()`, `MatSTRUMPACKGetCompButterflyLevels()`.
* Add `MAT_STRUMPACK_GEOMETRIC`, `MAT_STRUMPACK_AMD`, `MAT_STRUMPACK_MMD`, `MAT_STRUMPACK_AND`, `MAT_STRUMPACK_MLF`, `MAT_STRUMPACK_SPECTRAL` to `MatSTRUMPACKReordering`.
* Add `MatSTRUMPACKCompressionType`.
* Remove `MatSTRUMPACKSetHSSLeafSize()`, `MatSTRUMPACKSetHSSMaxRank()`, `MatSTRUMPACKSetHSSMinSize()`, `MatSTRUMPACKSetHSSMinSepSize()`, `MatSTRUMPACKSetHSSAbsTol()`, `MatSTRUMPACKSetHSSRelCompTol()`, `MatSTRUMPACKSetHSSRelTol()`. - PC:
* Add `PCMatGetApplyOperation()` and `PCMatSetApplyOperation()`.
* Add `PCReduceFailedReason()`.
* Add `PCSetKSPNestLevel()` and `PCSetKSPNestLevel()`.
* Refactor `PCMPI` to be a private system used automatically when `-mpi_linear_solver_server` is used. The `KSP` and `PC` objects that solve the system now inherit any prefix provided initially with `KSPSetPrefix()` and do not require the previously required `mpi_` prefix.
* Add option `-fieldsplit_1_pc_hpddm_schur_precondition` to use `PCHPDDM` on the Schur complements from `PCFIELDSPLIT`.
* Add `PCGAMGSetAggressiveSquareGraph()` to use square graph method for aggressive coarsening that was the previous default coarsening approach before release 3.19.
* Add `PCGAMGSetAggressiveMISk()` to set the number of levels (k) of aggressive MIS-k coarseing (2 is very common).
* Add `PCGAMGSetMinDegreeOrderingMISk()` to use a minimum degree ordering for the (greedy) MIS-k algorithm.
* Change `PCGAMGSetUseParallelCoarseGridSolve()` to `PCGAMGSetParallelCoarseGridSolve()`.
* Add `PCGAMGSetRecomputeEstEig()` to set flag to have Chebyshev recompute its eigen estimates (default set to true). - KSP:
* Add `KSPSetMinimumIterations()` and `KSPGetMinimumIterations()`.
* Add `KSPSetNestLevel()` and `KSPGetNestLevel()`.
* Support `KSPSetInitialGuessNonzero()` with `KSPPREONLY` and `PCDISTRIBUTE` when it is called on both the outer and inner `KSP`. - SNES:
* Add a convenient, developer-level `SNESConverged()` function that runs the convergence test and updates the internal converged reason.
* Swap the order of monitor and convergence test. Now monitors are always called after a convergence test.
* Deprecate option `-snes_ms_norms` in favor of `-snes_norm_schedule always`. - SNESLineSearch: - TS:
* Remove `TSErrorWeightedNormInfinity()`, `TSErrorWeightedNorm2()`, `TSErrorWeightedENormInfinity()`, `TSErrorWeightedENorm2()` since the same functionality can be obtained with `VecErrorWeightedNorms()`.
* Add support for time-dependent solvers with varying solution size using `TSSetResize()`.
* Add support for Diagonally Implicit Runge-Kutta methods with the new `TSDIRK` type. - TAO:
* Add `TaoADMMGetRegularizerCoefficient()`.
* Add `TAOBNCG`, `TaoBNCGGetType()` and `TaoBNCGSetType()`. - DM/DA:
* Add support for `DMDAGetElements()` for Fortran.
* Add support for clearing named vectors with `DMClearNamedGlobalVectors()` and `DMClearNamedLocalVectors()`.
* Add `DMPrintCellIndices()` for debugging.
* Add `DMUseTensorOrder()`.
* Add `DMCeedCreate()`, `DMCeedComputeGeometry()`, and `DMCeedDestroy()`. - DMSwarm:
* Add scatter mode to `DMSwarmProjectFields()` and no longer create vectors.
* Promote `DMSwarmDataFieldGetEntries()`, `DMSwarmDataFieldRestoreEntries()`, `DMSwarmDataBucketGetDMSwarmDataFieldByName()`, `DMSwarmDataBucketGetDMSwarmDataFieldIdByName()`, and `DMSwarmDataBucketQueryDMSwarmDataFieldByName()` to public interface. - DMPlex:
* Add `DMPlexTransformExtrudeGetPeriodic()` and `DMPlexTransformExtrudeSetPeriodic()`.
* Replace `DMPlexGetGhostCellStratum()` with `DMPlexGetCellTypeStratum()`.
* Add `DMPlexSetUseMatClosurePermutation()` and `DMPlexGetUseMatClosurePermutation()`.
* Add `DMPlexGetUseCeed()`, `DMPlexSetUseCeed()`, and `DMPlexSNESComputeResidualCEED()`.
* Add `DMPlexSNESComputeResidualDS()`. - FE/FV:
* Add `PLEXFE_QFUNCTION` macro to create CEED QFunctions from Plex pointwise functions. - DMNetwork:
* Add `DMNetworkViewSetShowRanks()`, `DMNetworkViewSetViewRanks()`, `DMNetworkViewSetShowGlobal()`, `DMNetworkViewSetShowVertices()`, `DMNetworkViewSetShowNumbering()`.
* Add `-dmnetwork_view_all_ranks` `-dmnetwork_view_rank_range` `-dmnetwork_view_no_vertices` `-dmnetwork_view_no_numbering` for viewing DMNetworks with the Matplotlib viewer.
* Add `-dmnetwork_view_zoomin_vertices` `-dmnetwork_view_zoomin_vertices_padding` for viewing DMNetworks with the Matplotlib viewer. - DT:
* Add `PETSCFEVECTOR` for making a finite element that is a vector of copies of another finite element.
* Add `PetscFECreateVector()`.
* Add `PETSCDUALSPACESUM` for a finite element dual basis that is the sum of other dual bases.
* Add `PetscDualSpaceCreateSum()`.
* Add `PetscDualSpaceSumSetNumSubspaces()`.
* Add `PetscDualSpaceSumGetNumSubspaces()`.
* Add `PetscDualSpaceSumSetSubspace()`.
* Add `PetscDualSpaceSumGetSubspace()`.
* Add `PetscDualSpaceSumSetConcatenate()`.
* Add `PetscDualSpaceSumGetConcatenate()`.
* Add `PetscDualSpaceSumSetInterleave()`.
* Add `PetscDualSpaceSumGetInterleave()`.
* Add `PetscSpaceSumSetInterleave()`.
* Add `PetscSpaceSumGetInterleave()`.
* Add `PetscDualSpaceGetInteriorSection()`. - Fortran:
* Add `PetscCheck()` and `PetscCheckA()` for Fortran.
* Change `PETSC_HAVE_FORTRAN` to `PETSC_USE_FORTRAN_BINDINGS` to indicate if PETSc is built with Fortran bindings.- Use packaged libYAML instead of building the clone incorporated in the PETSc source code. This allows to address security issues through updates to that package (CVE-2024-35328, boo#1226364).- Refresh & Rename: petsc-3.3-p2-no-rpath.patch -> Remove-rpath-test.patch- Add: Allow-lib64-as-library-directory-for-scalapack.patch
* Sun Dec 03 2023 badshah400AATTgmail.com- Make a symlink to the real pkgconfig dir (for example, in an installed system) for package\'s absurdly located pkgconfig file. This is a minimal workaround to boo#1217751, I guess.- Cosmetic touch-ups.
* Mon Oct 23 2023 eichAATTsuse.com- Disable HPC flavors on i586
* Mon Oct 23 2023 nicolas.moreyAATTsuse.com- Drop support for obsolete openmpi[123]- Prepare support for openmpi5
* Wed Mar 22 2023 stefan.bruensAATTrwth-aachen.de- Update to version 3.18.5.
* Too many changes to list, for details see https://petsc.org/release/docs/changes/- Fix broken usage of MAKEFLAGS, causing build failures with gmake >= 4.4.1.
* Wed Feb 15 2023 stefan.bruensAATTrwth-aachen.de- Remove incorrect library symlink with major version only.
* Mon Feb 06 2023 stefan.bruensAATTrwth-aachen.de- Update to version 3.18.4.
* Too many changes to list, for details see https://petsc.org/release/docs/changes/- Use Python3 also on Leap/SLE, Python 2.7 is no longer supported- Clean up spec file- Remove unreproducible build host core count from petscvariables (NPMAX, MAKE_NP etc).- Remove doc subpackage, documentation is no longer included in upstream tarball.
* Sat Jul 16 2022 stefan.bruensAATTrwth-aachen.de- Fix library package name for non-HPC flavors.- Remove openmpi1 for non-HPC.- Correct valgrind-devel BuildRequires.- Add rpmlintrc to ignore some empty files in examples
* Wed Feb 16 2022 eichAATTsuse.com- Fix HPC module settings (bsc#1195782).- Remove dependency on librt for libsuitparse to make the non-HPC build on Factory again.
* Wed Mar 24 2021 eichAATTsuse.com- Update to version 3.14.5.
* Documentation & man page fixes, removal of non-existing functions.
* CPARDISO: stick to OpenMPI BLACS when needed
* bugfix for MatMatMultSymbolic_MPIAIJ_MPIDense() when Bbn1 = 0. Bb (column block size) zero lead to infinite loop in MatMatMultNumeric_MPIAIJ_MPIDense() with n=0.
* petscviewer: fix the fortran bindings of XXXViewFromOptions when called with obj=PETSC_NULL_XXX.
* PetscOptionsPrefixPush: Accept numbers if the stack is not empty.
* PetscOptionsClearValue: Also clear \'help_intro\' slot.
* PetscOptionsDestroyDefault: Fix possible NULL-dereference.
* PetscOptionsUsed: Fix for case-insensitive string comparison.
* Do not use MPI_Bcast() on a single rank - This allows direct reading of much larger files, in, for example, MatLoad_SeqAIJ_Binary.
* PCHPDDM: fix for KSPLSQR.
* DMPlexVTKWriteAll_VTU: numerous bugfixes.
* MatBAIJ: FIx specialization for size 9.
* Wed Feb 24 2021 cgollAATTsuse.com- Updated to version 3.14.4 (jsc#SLE-14959)
* versionToTuple: ignore leading strings in package versions. i.e 5.3.3consortium -> 5.3.3
* Add error checks for integer overflow for MatSeqXAIJSetPreallocation when the user provides nnz[]. Otherwise PetscMalloc() can produce error messages with requests to absurds amount of memory. Improve the error message for PetscIntMultError() and other casting routines and add more seealso entries to the manual pages.
* Update dmlocalts.c to prevent zeroing out of locX_t after being computed in TSComputeIJacobian_DMLocal.
* nargs.Arg: Remove interactiveness; provide useful error when key is not found.
* DMPlexLandau: fix implicit conversion.
* Allow users to mistaken use openmpi or mpich when setting mpi or mpi-dir and consistently use local variable \'name\'
* Consume -help in PetscOptionsSetValue() so it can be set from RC file etc.
* Enable search patterns to have \'src
*\' at start.
* Fix Matlab int32 to match changed changes in PETSc data types.
* Generate error instead of crashing when estimating eigenvalues for Chebyshev, no right hand side vector is available and the user requested to not use a noisy right hand side.
* Fix pcmgsetlevels() for Fortran to properly convert the C MPI communictors to Fortran.
* Fix PCMGSetLevels_MG() to support the use of MPI_COMM_NULL for communicators that that live on a subset of the orginal communicator.
* Add additional documentation material to PCMGSetLevels() explaining how one must handle the restriction and interpolation operations that move between different levels which have a different number of MPI ranks.
* Call PetscCUDAInitializeCheck() in MatConvert_SeqAIJ_SeqAIJCUSPARSE since it uses cuSparse().
* Missing this sometimes produces errors in the CU tests, but other times it passes. I don\'t understand why it is not needed.
* checkbadSource now prints line numbers of where it finds problems.
* Add support to Fortran interface for PCASMGetSubKSP() and PCGASMGetSubKSP() to use PETSC_NULL_INT for first two arguments.
* Missing define in landaucu.cu.
* Fix for PCView_BJacobi() case when neither if case is statisfied.
* DMCreateInterpolation() requires a custom Fortran stub because it RETURNS an optional vector.
* Add -da_refine to manual page for DMDASetRefinementFactor().
* AIJMKL: cannot print a scalar in case of complex.
* Fix memory leaks in TSTrajectoryCreate_Memory() and possibly bugs
* Don\'t generate an error if the user does not free all objects while using SuperLU_DIST.
* -ksp_view -ksp_type gmres -pc_type gasm fails on one process. Fixed by removing special case handling of size 1 that tried to reuse orginal viewer as subviewer which does not work.
* Add KSPGMRESSetBreakdownTolerance() and -ksp_gmres_breakdown_tolerance - to restore old GMRES behaviour for MOOSE.
* Fix bug introduced by PCASMSetSubMatType() when MAT_REUSE_MATRIX is used with a different type of pmat compared to pmat[i].
* Always destroy previously created pmat[i] and use MAT_INITIAL_MATRIX
* Clarify integers set with to ISCreateBlock() and ISBlockSetIndices() in manual pages.
* Remove ierr = VecSetInf(ksp->vec_sol);CHKERRQ(ierr); from KSPSetUp_Chebyshev() since ksp->vec_sol may not yet exist and it is not needed since VecSetInf(ksp->vec_sol) is set in KSPSolve() just before the actual solve if ksp->reason = KSP_DIVERGED_PC_FAILED.
* Remove mention of DMDAGetLocalInfoF90() since it does not exist, Fortran version has same name as C version.
* MATSHELL: matrix sizes may not be known at creation time.
* Pass PetscDrawSetSave() and PetscDrawSetSaveFinalImage() to PetscViewerGetSubViewer_Draw(). Otherwise MatView() on parallel matrices, for example, will not generate an image file.
* config MPI: fix type of self.libdir (which is passed to os.path.join).
* MUMPS: add -DBLR_MT when configuring --with-openmp.
* missing PDIPM and typo in BQNLS for fortran imports.
* Fixed issue where scalapack matrix is created with a communicator different from MPI_COMM_WORLD.
* Fix PetscErrorCode typos in Fortran stubs.
* Remove interface declarations for functions that don\'t exist.
* SNESMultiblock: add back into build (had been missing - still untested).
* MATDAAD: remove vestigial references to deleted DAAD.
* Fix device atomics with 64-bit indices and prefer long long over int64_t
* petsc4py.py: set download-petsc4py-commit to None to overcome missing key error.
* petsc4py: Update Cython build
* Set `language_level` to `3str` if supported (Cython >= 0.29)
* Initial preparations for upcoming release Cython 3.0
* Require Cython >= 0.24, older versions do not longer work
* Improve python-related entries in configure --help.
* add missing --download-petsc4py option.
* remove python options other than --with-python-exec which have no effect.
* move --with-python-exec to PETSc section.
* PetscPythonFindLibrary: One more way to get pythonlib. Hotfix for case when LDLIBRARY yields libpython.a erroneously.
* SLEPc: pass PYTHONPATH for slepc4py.
* Add manual page for MATMPIDENSE.
* Fix outdated mention of \"-snes_ksp_ew_conv\" in users manual.
* Improve manual pages for MatGetValuesLocal() and MatGetValues() to clarify what values may be obtained with these routines.
* Add to manual pages the use of call XXXView(x,0) from the debugger.
* KSPGCR: add man pages for setting and getting restart.
* Put the docs for -snes_test_jacobian in SNESSetFromOptions() instead of hidden away in developer routine.
* Improve clarity of docs for PETSC_VIEWER_SOCKET with Matlab.- Refactored patches:
* petsc-3.3-p2-no-rpath.patch
* petsc-3.7-fix-pastix-detection.patch
* Fri Feb 05 2021 eichAATTsuse.com- Add build support for gcc10 to HPC build (bsc#1174439).- Add openmpi4 flavors.
* Thu Jan 28 2021 eichAATTsuse.com- Change \'Requires:\' to other HPC packages to %requires_eq to depend on the exact version. This should take care of HPC packages ignoring proper ABI versioning.
* Thu Nov 05 2020 aguerreroAATTsuse.com- Update to version 3.14.1
* https://www.mcs.anl.gov/petsc/documentation/changes/314.html- Refresh patches
* Tue Jun 23 2020 eichAATTsuse.com- Make sure, doc package is built for SLE (bsc#1173269).
* Wed Jan 08 2020 stefan.bruensAATTrwth-aachen.de- Force use of python3 on Tumbleweed. As the python2 executable was also set in petsc\'s configuration, dependent packages no longer depend on python2.- Fix she-bangs in python scripts- Only require python{2,3}-base packages instead of full packages.
* Wed Dec 11 2019 eichAATTsuse.com- Remove unneeded dependency from HPC devel package.
* Tue Dec 03 2019 eichAATTsuse.com- Update to version 3.12.2 (jsc#SLE-8505)
* https://www.mcs.anl.gov/petsc/documentation/changes/312.html- Remove petsc-3.3-p2-fix-shared-libs-sonames.patch link created directly in %install section- Remove petsc-3.3-p2-dont-check-for-option-mistakes.patch not needed.- Remove petsc-3.3-fix-error-detection-in-makefile.patch not needed.- Add non-HPC build with openmpi3- Add HPC builds for gcc8 & gcc 9 (jsc#SLE-7766 & jsc#SLE-8604).- Disable openmpi1 builds for SLE/Leap > 15.1.- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773).
* Wed Nov 27 2019 stefan.bruensAATTrwth-aachen.de- Reflect renaming of openmpi packages to openmpi1 in Tumbleweed, fixes unresolvable packages.- Fix copy\'n\'paste error, mpi_vers vs. mpi_ver- Add non-HPC openmpi2 flavor.
* Wed Aug 21 2019 aguerreroAATTsuse.com- Update to version 3.11.3 (jsc#SLE-8505) - https://www.mcs.anl.gov/petsc/documentation/changes/311.html - Binaries have changed path from bin/ to lib/petsc/bin/- Patches removed, merged by upstream
* Python-Fix-a-number-of-scripts-to-by-Python-3-compliant.patch
* petsc-fix-nonmpi.patch- Patches refreshed
* petsc-3.3-p2-fix-shared-libs-sonames.patch
* petsc-3.3-p2-no-rpath.patch
* petsc-3.3-p2-dont-check-for-option-mistakes.patch
* petsc-3.3-fix-error-detection-in-makefile.patch
* petsc-3.7-fix-pastix-detection.patch- Set -fPIC also on x86_64
* Fri Jul 19 2019 eichAATTsuse.com- Upped memory constraints to 6G for non-ppc systems as well, leaving the special ppc treatment in place in case we need to up it some more there.
* Wed Jul 17 2019 normandAATTlinux.vnet.ibm.com- update _constraints for PowerPC more than 4G memory- Add BuildRequires libopenblas-gnu-hpc >= 0.3.6 for hpc to avoid to build when openblas library not available.
* Tue Mar 26 2019 stefan.bruensAATTrwth-aachen.de- Disable pastix also in openmpi flavor, same as for serial and HPC flavors. Pastix is only built with openmpi, and not available in Factory.
* Wed Mar 20 2019 stefan.bruensAATTrwth-aachen.de- Fix building non-MPI flavors of packages depending on petsc Add petsc-fix-nonmpi.patch- Do not move headers to /usr/include and symlink, causes problems with - isystem
* Wed Mar 13 2019 stefan.bruensAATTrwth-aachen.de- Fix spec for non-HPC, reenable serial and non-HPC openmpi build.- Disable HYPRE for non-HPC, same as for HPC.
* Wed Feb 13 2019 eichAATTsuse.com- Consolidate use of openmpi1, openmpi2, openmpi3.- Do not build non-HPC on SLE.
* Mon Apr 30 2018 eichAATTsuse.com- (Temporarily) disable fpr S390
* as a check test for netcdf fails currently on BE (bsc#1091474).
* Fri Apr 27 2018 guillaume.gardetAATTopensuse.org- Add _constraints to avoid OOM errors
* Tue Apr 17 2018 eichAATTsuse.com- Do not require \'Modules\' for HPC build: seetings from /etc/profile.d/lmod.[c]sh will be overwritten by /etc/profile.d/modules.[c]sh installed by Modules (bsc#1089865).
* Sun Apr 01 2018 eichAATTsuse.com- Convert doc package build to noarch. This will hopefully avoid spurious build errors on SLE-12.
* Tue Mar 27 2018 stefan.bruensAATTrwth-aachen.de- Set \'-fPIC\' also on aarch64
* Tue Mar 27 2018 eichAATTsuse.com- Reenable flavor \'serial\' to build the doc package only (bsc#1087050). Note: for this flavor nothing else gets built: once the missing dependencies have been fixed, rearrange the [#]%if 0%{?makedoc:1} ... %endif.
* Tue Mar 20 2018 roAATTsuse.de- use \"-fPIC\" also on s390, like on ppc64 (bsc#1086008)
* Fri Mar 09 2018 eichAATTsuse.com- Don\'t build the serial flavor as the build presently breaks everywhere (bsc#1084677).
* Sun Mar 04 2018 eichAATTsuse.com- Python-Fix-a-number-of-scripts-to-by-Python-3-compliant.patch: Fix python scripts - convert to Python 3 (bsc#1082209).- Restructure package: factor out SAWs stuff. We cannot support this as SAWs itself isn\'t available for SUSE.- Move python files that are not stand-alone out of the bin directory.- Fix permissions in bin and other directories.- Removed some unwanted scripts: rules - make rules sendToJenkins - this should probably be modified to print an error message uncrustify.cfg - used by \'rules\'- Removed win32fe: DLLs for Windows- Set \'-fPIC\' on ppc64.
* Thu Feb 22 2018 eichAATTsuse.com- Update to version 3.8.3: http://www.mcs.anl.gov/petsc/documentation/changes/37.html (FATE#325333).
* Fri Feb 09 2018 eichAATTsuse.com- Since the OpenBLAS build was fixed, reenable scalapack on s390 (bsc#1079513).- Add support for openmpi2 for HPC (FATE#325089).- Fix build on ppc64le (bsc#1080380).
* Fri Feb 09 2018 cgollAATTsuse.com- Fix summary in module files (bnc#1080259)
* Tue Feb 06 2018 eichAATTsuse.com- Don\'t use baselibs.conf: some dependencies are not available for i586 on Factory.
* Tue Feb 06 2018 eichAATTsuse.com- The HPC build of petsc depends on openBLAS. OpenBLAS doesn\'t support s390: skip building on s390 (bsc#1079513).
* Mon Jan 29 2018 eichAATTsuse.com- Fix build with rpm v4.14.
* Fri Jan 12 2018 eichAATTsuse.com- Disable the openmpi3 flavor in some products.
* Fri Jan 05 2018 eichAATTsuse.com- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES.- Fix library package requires - use HPC macro (boo#1074890).- Add support for mpich and openmpi3 for HPC.- Fix unexpanded rpm macro in environment module file for HPC (boo#1074897).
* Tue Nov 14 2017 eichAATTsuse.com- emvironment modules: only set BIN when binary path exists.- Fix RPM macro name %hpc_upcase.
* Fri Nov 10 2017 eichAATTsuse.com- Add libhdf5/libscalapack
*-hpc as Requires to the library package for HPC.
* Thu Nov 02 2017 eichAATTsuse.com- Simplify Group: - do not destinguish between MPI and non-MPI: the IBS check scripts cannot handle this well.
* Mon Oct 30 2017 eichAATTsuse.com- Fix Requires for HPC build.
* Sun Oct 22 2017 eichAATTsuse.com- Disable non-HPC openmpi flavor due to missing dependencies.
* Fri Sep 08 2017 eichAATTsuse.com- Convert to multibuild.- Add HPC build using environment modules (FATE#321718).- Generate baselib.conf dynamically and only for the non-HPC builds: this avoids issues with the source validator.- Updated to 3.7.6 (in sync with OpenHPC) Changelog at: http://www.mcs.anl.gov/petsc/documentation/changes/37.html
* Thu Mar 09 2017 kkhere.geoAATTgmail.com- recreate petsc package with version 3.7.5 previously existing petsc package was deleted for unknown reasons. package in science repository is just a broken link. previous changelog salvaged from installed rpm is below.- upstream version changelogs available at https://www.mcs.anl.gov/petsc/petsc-as/documentation/changes/index.html
* Mon Sep 28 2015 kkhere.geoAATTgmail.com- Refix blacs dependency, since blacs is now merged in scalapack
* Tue Jul 28 2015 toddrme2178AATTgmail.com- Fix blacs dependency ambiguity
* Wed Jul 15 2015 toddrme2178AATTgmail.com- Fix building on ppc64 and ppc64le
 
ICM