d428e32e09
- Drop ptscotch-parmetis-*-devel BuildRequires as the devel files from parmetis are now included as part of ptscotch-*-devel directly.
Atri Bhattacharya2025-09-16 17:12:51 +00:00
493943717a
Accepting request 1278500 from science
Ana Guerrero2025-05-20 10:20:23 +00:00
3925cec98c
* Use COPTFLAGS, FOPTFLAGS, and CXXOPTFLAGS to pass rpm optflags to compilers instead of directly setting CFLAGS, FFLAGS, or CXXFLAGS; this is recommended by upstream and fixes build failures seen when compiling fortran modules on Leap 16 and older (see https://gitlab.com/petsc/petsc/-/issues/1727). * Changes PETSC_ARCH definition to %_arch instead of linux-gnu-c-opt; this is in line with upstream's recommendation and what Fedora does and should be ok for openSUSE not that we no longer use hpc macros. * Modify petsc-fix-libdir.patch to use sysconfig.get_config_vars('platlibdir') instead of sys.platlibdir for compatibility with python 3.6 (fix FTBFS on 15.6 and older). * Actually bail out before running make when configuring fails.
Dmitry Roshchin2025-05-20 05:43:23 +00:00
229fc01d59
Accepting request 1268510 from science
Ana Guerrero2025-04-11 14:49:46 +00:00
fdd8f3f3fd
* Update to version 3.23.0. * Add petsc-fix-install-libdir.patch: Install libraries to system arch compatible lib dir (e.g. 'lib64' for x86_64). * Drop and add hashbangs as required for non-exec and exec python scripts respectively. * Implement a %check section and run make check. * Drop explicit specification of mpi library paths and allow %setup_openmpi to export relevant paths. * Fix an incorrect file encoding.
Dmitry Roshchin2025-04-11 05:32:25 +00:00
e986fadd34
Accepting request 1266176 from science
Ana Guerrero2025-04-03 14:46:52 +00:00
17499f67dd
- Fix issues package naming and install paths introduced during gnu-hpc removal
Atri Bhattacharya2025-04-01 13:20:38 +00:00
3b1370bc86
- Disable and remove support for gnu-hpc build flavours (bsc#1239982) - Add openmpi5 build flavour
Ana Guerrero
2025-04-01 08:41:48 +00:00
3dd035d100
Accepting request 1235702 from science
Ana Guerrero2025-01-09 14:06:52 +00:00
af5c1ab7ec
- Update to version 3.22: * General: + Add -mpiuni-allow-multiprocess-launch to allow mpiexec to launch multiple indendent MPI-Uni jobs. Previously a sanity check error message was always produced * Configure/Build: + Add --with-openmp-kernels + Update to work with python-3.13 + Change MPIU_Allreduce() to always returns an MPI error code that should be checked with PetscCallMPI() + Add PetscCallReturnMPI(), PetscCallMPIReturnMPI(), and PetscCheckReturnMPI() to check for in PETSc provided MPI callbacks * Sys: + Add PetscPragmaUseOMPKernels + Deprecate PetscOptionsRestoreViewer() in favor of PetscViewerDestroy() + Deprecate PetscOptionsGetViewer() and PetscOptionsGetViewers() in favor of PetscOptionsCreateViewer() and PetscOptionsCreateViewers() + Deprecate PetscOptionsPushGetViewerOff(), PetscOptionsPopGetViewerOff(), and PetscOptionsGetViewerOff() in favor of PetscOptionsPushCreateViewerOff(), PetscOptionsPopCreateViewerOff(), and PetscOptionsGetCreateViewerOff() + Add PetscObjectContainerCompose() and PetscObjectContainerQuery() + Add size_t argument to PetscMPIErrorString() + Add PetscCallExternalAbort() for calling external library functions from functions not returning PetscErrorCode + Add PetscRandomSetOptionsPrefix() + Add PetscOptionsGetBool3() to get a ternary logical value from a command line option * PetscViewer: + Add PetscViewerASCIIStdoutSetFileUnit() + Add PetscShmgetAllocateArrayScalar(), PetscShmgetDeallocateArrayScalar(), PetscShmgetAllocateArrayInt(), and PetscShmgetDeallocateArrayInt() for Fortran * VecScatter / PetscSF: + Add PetscSFRegisterPersistent() and PetscSFDeregisterPersistent() for safe optimization of persistent communication * Vec: + The IS passed to VecISAXPY() and VecISCopy(). VecISSet() and VecISShift() must have the same communicator of the vectors used Make VecLock API active in optimized mode + VecNestSetSubVec() and VecNestSetSubVecs() now take references to input vectors rather than creating duplicates Deprecate VecSetInf() with VecFlag() * Mat: + Change MatProductSetFill() to support PETSC_DETERMINE and PETSC_CURRENT. MatMatMult() and its friends and relations now accept PETSC_DETERMINE and PETSC_CURRENT in the fill argument. PETSC_DEFAULT is deprecated for those functions + Change the default MatType of the output Mat of MatSchurComplementComputeExplicitOperator() to be MATDENSE. It may be changed from the command line, e.g., -fieldsplit_1_explicit_operator_mat_type aij + Add MATOP_GET_BLOCK_DIAGONAL and MATOP_GET_VBLOCK_DIAGONAL to set methods returning the diagonal point blocks of a matrix * PC: + Add support in PCFieldSplitSetFields() including with -pc_fieldsplit_%d_fields fields for MATNEST, making it possible to utilize multiple levels of PCFIELDSPLIT with MATNEST from the command line + Add PCCompositeSpecialSetAlphaMat() API to use a matrix other than the identity in preconditioners based on an alternating direction iteration, e.g., setting M for P = (A + alpha M) M^{-1} (alpha M + B) + Reuse the result of T = A_{00}^-1 A_{01} in PCApply_FieldSplit_Schur with -pc_fieldsplit_schur_fact_type full + Change the option database keys for coarsening for PCGAMG to use the prefix -pc_gamg_, for example -pc_gamg_mat_coarsen_type + Add PCGAMGSetGraphSymmetrize() and -pc_gamg_graph_symmetrize to control symmetrization when coarsening the graph Add -pc_hypre_type ilu with -pc_hypre_ilu_type, -pc_hypre_ilu_iterative_setup_type, -pc_hypre_ilu_iterative_setup_maxiter, -pc_hypre_ilu_iterative_setup_tolerance, -pc_hypre_ilu_print_level, -pc_hypre_ilu_logging, -pc_hypre_ilu_level, -pc_hypre_ilu_max_nnz_per_row, -pc_hypre_ilu_tol, -pc_hypre_ilu_maxiter, -pc_hypre_ilu_drop_threshold, -pc_hypre_ilu_tri_solve, -pc_hypre_ilu_lower_jacobi_iters, -pc_hypre_ilu_upper_jacobi_iters, and -pc_hypre_ilu_local_reordering + Improve -pc_type boomeramg with -pc_hypre_boomeramg_smooth_num_sweeps, -pc_hypre_boomeramg_ilu_type, -pc_hypre_boomeramg_ilu_iterative_setup_type, -pc_hypre_boomeramg_ilu_iterative_setup_option, -pc_hypre_boomeramg_ilu_iterative_setup_maxiter, -pc_hypre_boomeramg_ilu_iterative_setup_tolerance, -pc_hypre_boomeramg_ilu_print_level, -pc_hypre_boomeramg_ilu_logging, -pc_hypre_boomeramg_ilu_level, -pc_hypre_boomeramg_ilu_max_nnz_per_row, -pc_hypre_boomeramg_ilu_maxiter, -pc_hypre_boomeramg_ilu_drop_tol, -pc_hypre_boomeramg_ilu_tri_solve, -pc_hypre_boomeramg_ilu_lower_jacobi_iters, -pc_hypre_boomeramg_ilu_upper_jacobi_iters, and -pc_hypre_boomeramg_ilu_local_reordering * KSP: + Add support for PETSC_DETERMINE as an argument to KSPSetTolerances() to set the parameter back to its initial value when the object's type was set + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for KSPSetTolerances() * SNES: + Add support for PETSC_DETERMINE as an argument to SNESSetTolerances() to set the parameter back to its initial value when the object's type was set + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for SNESSetTolerances() + Add DMAdaptorMonitor(), DMAdaptorMonitorSet(), DMAdaptorMonitorCancel(), and DMAdaptorMonitorSetFromOptions() + Add DMAdaptorMonitorSize(), DMAdaptorMonitorError(), DMAdaptorMonitorErrorDraw(), DMAdaptorMonitorErrorDrawLGCreate(), and DMAdaptorMonitorErrorDrawLG() + Add DMAdaptorMonitorRegister(), DMAdaptorMonitorRegisterAll(), and DMAdaptorMonitorRegisterDestroy() + Add DMAdaptorGetCriterion() and DMAdaptorSetCriterion() + Add DMAdaptorSetOptionsPrefix() + Add Newton's method with arc length continuation: SNESNEWTONAL with SNESNewtonALSetFunction(), SNESNewtonALGetFunction(), SNESNewtonALComputeFunction(), SNESNewtonALGetLoadParameter(), and SNESNewtonALSetCorrectionType() + Add SNESNewtonTRSetTolerances() and SNESNewtonTRSetUpdateParameters() to programmatically set trust region parameters Deprecate SNESSetTrustRegionTolerance() in favor of SNESNewtonTRSetTolerances() + Add SNESResetCounters() to reset counters for linear iterations and function evaluations * TS: + Add Rosenbrock-W methods from :cite:rang2015improved with B_{PR} stability: TSROSWR34PRW, TSROSWR3PRL2, TSROSWRODASPR, and TSROSWRODASPR2 + Add support for PETSC_DETERMINE as an argument to TSSetTolerances() to set the parameter back to its initial value when the object's type was set Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for TSSetTolerances() + Add support for PETSC_DETERMINE as an argument to TSSetMaxSteps() and TSSetMaxTime() + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for TSAdaptSetSafety() + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for TSAdaptSetClip() + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for TSAdaptSetStepLimits() + Add TSGetStepResize() + Add -ts_monitor_solution_vtk_interval to control the interval for dumping files + Add a new ARKIMEX solver for fast-slow systems that are partitioned component-wise and additively at the same time + Add TSRHSSplitSetIFunction(), TSRHSSplitSetIJacobian(), TSRHSSplitSetSNES(), TSRHSSplitGetSNES(), TSARKIMEXSetFastSlowSplit(), and TSARKIMEXGetFastSlowSplit() to support the new solver * TAO: + Add support for PETSC_DETERMINE as an argument to TaoSetTolerances() and TaoSetConstraintTolerances() to set the parameter back to its initial value when the object's type was set + Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for TaoSetTolerances() and TaoSetConstraintTolerances() * DM/DA: + Add DMGetSparseLocalize() and DMSetSparseLocalize() + Add DMGeomModelRegister(), DMGeomModelRegisterAll(), DMGeomModelRegisterDestroy(), DMSnapToGeomModel(), and DMSetSnapToGeomModel() to support registering geometric models + Add DMGetOutputSequenceLength() + Add an additional return vector to DMCreateMassMatrixLumped() to retrieve the local mass lumping + Add DMPlexMigrateGlobalToNaturalSF() modifies the NaturalSF to map from the SF's old global section to the new global section * DMPlex: + Add DMLabelGetValueBounds() + Add DMPlexOrientLabel() + Add an argument to DMPlexLabelCohesiveComplete() in order to change behavior at surface boundary Remove DMPlexSnapToGeomModel() + Add refinement argument to DMPlexCreateHexCylinderMesh() + Now DMPlexComputeBdIntegral() takes one function per field + Add DMPlexCreateEdgeNumbering() + Add DMPlexComputeL2FluxDiffVec() and DMPlexComputeL2FluxDiffVecLocal() + Add DMAdaptorSetType(), DMAdaptorGetType(), DMAdaptorRegister(), DMAdaptorRegisterAll(), and DMAdaptorRegisterDestroy() + Add DMAdaptorGetMixedSetupFunction() and DMAdaptorSetMixedSetupFunction() + Add DMPlexCreateCellNumbering() + Add DMPlexBuildFromCellSectionParallel() and DMPlexCreateFromCellSectionParallel() + Add -dm_plex_box_label to add "Face Sets" label with current "box" conventions + Add "Face Sets" label to simplex meshes using current "box" conventions Update PetscViewerExodusII object to cache variable names for faster and more robust look-ups + Add PetscViewerExodusIISetNodalVariable(), PetscViewerExodusIISetZonalVariable(), PetscViewerExodusIIGetNodalVariable(), and PetscViewerExodusIIGetZonalVariable() to set or get the number of variables in a file + Add PetscViewerExodusIISetNodalVariableName(), PetscViewerExodusIISetZonalVariableName(), PetscViewerExodusIIGetNodalVariableName(), and PetscViewerExodusIIGetZonalVariableName() to set or get a single variable name + Add PetscViewerExodusIISetNodalVariablesNames(), PetscViewerExodusIISetZonalVariablesNames(), PetscViewerExodusIIGetNodalVariablesNames(), and PetscViewerExodusIIGetZonalVariablesNames() to set or get all variable names at the same time (not available in Fortran) + Add degree bounds to DMCopyFields(), DMCopyDS(), PetscDSCopy(), and PetscDSSelectDiscretizations() + Add PetscFELimitDegree() + Add localizationHeight and sparseLocalize arguments to DMPlexCreateBoxMesh() for coordinate localization on periodic meshes + Add parallel CGNS reader, enabled by -dm_plex_cgns_parallel + Add CGNS function for VecLoad() of solutions in parallel (must be run with -dm_plex_cgns_parallel) + Add PetscViewerCGNSOpen() convenience function + Add PetscViewerCGNSGetSolutionTime(), PetscViewerCGNSGetSolutionName(), PetscViewerCGNSSetSolutionIndex(), and PetscViewerCGNSGetSolutionIndex() + Add DMPlexGetDepthStratumGlobalSize() * DT: + Add PetscDSSetIntegrationParameters() and PetscDSSetCellParameters() * Fortran: + Add PETSC_NULL_ENUM to be used instead of PETSC_NULL_INTEGER when a pointer to an enum is expected in a PETSc function call + Add PETSC_NULL_INTEGER_ARRAY, PETSC_NULL_SCALAR_ARRAY, and PETSC_NULL_REAL_ARRAY for use instead of PETSC_NULL_INTEGER, PETSC_NULL_SCALAR, and PETSC_NULL_REAL when an array is expected in a PETSc function call + Add automatically generated interface definitions for most PETSc functions to detect illegal usage at compile time + Add PetscObjectIsNull() for users to check if a PETSc object is NULL + Change the PETSc Fortran API so that non-array values, v, passed to PETSc routines expecting arrays must be cast with [v] in the calling sequence
Atri Bhattacharya2025-01-07 18:42:31 +00:00
101ddcb3c0
Accepting request 1229718 from science
Ana Guerrero2024-12-10 22:44:15 +00:00
01f547dca4
Add necessary BuildRequires for hpc flavours to allow use of %requires_eq.
Dmitry Roshchin2024-12-10 08:57:23 +00:00
5b729acf35
Accepting request 1181786 from science
Ana Guerrero2024-06-20 14:47:42 +00:00
505d343ff2
- 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.
Egbert Eich2024-06-19 16:43:14 +00:00
c92d7ca25b
Accepting request 1134959 from science
Ana Guerrero2023-12-25 18:05:53 +00:00
f9da9db1cd
Accepting request 1130579 from home:badshah400:branches:science
Atri Bhattacharya2023-12-24 08:24:41 +00:00
875e2af5cb
Accepting request 1119878 from science
Ana Guerrero2023-10-24 18:08:10 +00:00
072ee304f3
- Use ExcludeArch instead of ExclusiveArch: do_not_build construct.
Egbert Eich2023-10-24 07:36:05 +00:00
27dbfcddc0
Accepting request 1119730 from home:eeich:branches:science
Egbert Eich2023-10-23 20:37:18 +00:00
b6ee58d951
Accepting request 1119631 from home:NMorey:branches:science
Egbert Eich2023-10-23 19:03:47 +00:00
a990303cc1
- 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.
Egbert Eich2019-07-19 16:17:20 +00:00
5844df210c
Accepting request 716001 from home:michel_mno:branches:science
Christian Goll2019-07-17 08:10:45 +00:00
027b90fbfd
- 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).
Egbert Eich2018-04-17 13:21:07 +00:00
732502b1d0
- Do not require 'Modules' for HPC build: it will overwrite /etc/profile.d/modules.sh installed by lua-lmod (bsc#1089865).
Egbert Eich2018-04-17 12:57:50 +00:00
d2108b7883
- Since the OpenBLAS build was fixed, reenable scalapack on s390 (bsc#1079513). - Fix build on ppc64le (bsc#1080380).
Egbert Eich2018-02-09 20:55:09 +00:00
93de6aff83
- Add support for openmpi2 for HPC (FATE#325089).
Egbert Eich2018-02-09 20:15:02 +00:00
e06c52626f
Accepting request 574716 from home:mslacken:hpc_fix
Egbert Eich2018-02-09 15:29:08 +00:00