Do not use MPIU_SUM or MPIU_MAX with integersThese operations are only implemented for MPIU_REAL and MPIU_COMPLEXwhen they are different than MPI_SUM or MPI_MAX, e.g.,--with-precision=__float128
Update handling of MatTranspose() with MAT_REUSE_MATRIXAdd error checking for the use of the MAT_REUSE_MATRIX flag in MatTranspose()Add tests to MatTranspose_XXX to error if the nonzero pattern ch
Update handling of MatTranspose() with MAT_REUSE_MATRIXAdd error checking for the use of the MAT_REUSE_MATRIX flag in MatTranspose()Add tests to MatTranspose_XXX to error if the nonzero pattern changesAdd support for MAT_REUSE_MATRIX with changing nonzero pattern for MatTranspose_SeqAIJ()Remove use of updateAt in MatProductNumeric_AtB_SeqAIJ_SeqAIJ() since MatTranspose() automatically skips unneeded new transposeAdd MatTransposeSymbolic()Update to SLEPc that supports these changesCommit-type: feature, error-checking, documentation/spend 5h
show more ...
Cleanup and unify naming of PetscCall routinesCommit-type: housekeeping/spend 10m
Merge remote-tracking branch 'origin/release'
MatConvert_Dense_ScaLAPACK(): incompatible layout
Refactor handling of setable properties of matrices via MatSetOptions()Introduce PetscBool3 with enum values true, false, and unknownUse PetscBool3 to store matrices properties in a matrix and cl
Refactor handling of setable properties of matrices via MatSetOptions()Introduce PetscBool3 with enum values true, false, and unknownUse PetscBool3 to store matrices properties in a matrix and cleanup interface to check these valuesAdd full support for symmetric, Hermitian, structurally symmetric, and SPD.Commit-type: feature/spend 6h
Initialize MatOps_Values with two new NULLs
Provide more documentation on matrix layout meaningand where matrix entries are stored across ranks (Elemental, SCALAPACK)Commit-type: docs/spend 1.5h
A few codespell fixes
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Merge branch 'psanan/docs-sphinx-man-pages' into 'main'Integrate Man Pages into Sphinx DocsCloses #1132 and #1015See merge request petsc/petsc!4989
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (word.rstrip(","), comma)def _process_stripped_line(line): return " ".join(map(_process_word, line.split()))start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")def process_file(filename_full): with fileinput.FileInput(filename_full, inplace=True) as f: in_block = False for line in f: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close line_modified = None if not line_stripped: in_block = False elif line_stripped.endswith("*/"): in_block = False else: match = re.match(start_pattern, line) # not stripped line if match: indent = " " * len(match.group(1)) in_block = True line_modified = match.group( 1) + _process_stripped_line( match.group(2).strip()) elif in_block: line_modified = indent + _process_stripped_line( line_stripped) if line_modified: print(line_modified) # prints to the file else: print(line, end="") # prints to the fileBASE_DIRS = ["src", "include"]EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]def main(): """ Process everything """ for base in BASE_DIRS: for root, dirs, files in os.walk(base): for filename in files: if os.path.splitext(filename)[1] in EXT: filename_full = os.path.join(root, filename) print("FILE ---", filename_full) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)if __name__ == "__main__": main()```
Remove the rest of the PetscCheckFalse() from the mat directoryCommit-type: housekeeping/spend 45m
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as Mat
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as MatPreallocateInitialize()/Finalize()* fix many lingering ierr = XXX that arose from multiline function calls* sync slepc/hpddm - to use snapshots with the same changesCommit-type: error-checking, style-fix/spend 8h
Remove some PetscCheckFalse()
Merge branch 'barry/2022-03-30/strip-petscall-petsctrymethod' into 'main'Do not wrap PetscTryMethod() PetscUseMethod() in PetscCallSee merge request petsc/petsc!5051
Fix mpiu_allreduce to always return PetscErrorCodes, never MPI error codesBoth for debug and optimized buildsAlso removes shadow declaration errors from use of mpiu_allreduceCommit-type: error-
Fix mpiu_allreduce to always return PetscErrorCodes, never MPI error codesBoth for debug and optimized buildsAlso removes shadow declaration errors from use of mpiu_allreduceCommit-type: error-checkingReported-by: Lisandro Dalcin <dalcinl@gmail.com>
Do not wrap PetscTryMethod() PetscUseMethod() in PetscCallIt produces shadow declarations and also serves no purpose since these macros do the appropriate error checking alreadyThere may be addit
Do not wrap PetscTryMethod() PetscUseMethod() in PetscCallIt produces shadow declarations and also serves no purpose since these macros do the appropriate error checking alreadyThere may be additions needed for running with a static error checkerCommit-type: error-checking/spend 15mReported-by:Lisandro Dalcin <dalcinl@gmail.com>
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX() -> PetscCallThrow()- CHKERRCXX() -> PetscCallCXX()- CHKERRCUDA() -> PetscCallCUDA()- CHKERRCUBLAS() -> PetscCallCUBLAS()- CHKERRCUSPARSE() -> PetscCallCUSPARSE()- CHKERRCUSOLVER() -> PetscCallCUSOLVER()- CHKERRCUFFT() -> PetscCallCUFFT()- CHKERRCURAND() -> PetscCallCURAND()- CHKERRHIP() -> PetscCallHIP()- CHKERRHIPBLAS() -> PetscCallHIPBLAS()- CHKERRHIPSOLVER() -> PetscCallHIPSOLVER()- CHKERRQ_CEED() -> PetscCallCEED()- CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction()- CHKERRMKL() -> PetscCallMKL()- CHKERRMMG() -> PetscCallMMG()- CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD()- CHKERRCGNS() -> PetscCallCGNS()- CHKERRPTSCOTCH() -> PetscCallPTSCOTCH()- CHKERRSTR() -> PetscCallSTR()- CHKERRTC() -> PetscCallTC()
pluck ~1000 low hanging PetscCheckFalse() -> PetscCheck() fruit
chkerr and friends wrapped
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
deprecate PETSC_STATIC_INLINE
add PetscAssert() and PetscAssertFalse()
1234