clang-format: convert PETSc sources to comply with clang-format
Merge branch 'barry/2022-06-28/add-petsccallmethod' into 'main'Introduce PetscTryTypeMethod and PetscUseTypeMethod to replace ad hoc use of (*obj->ops->method) in sourceSee merge request petsc/
Merge branch 'barry/2022-06-28/add-petsccallmethod' into 'main'Introduce PetscTryTypeMethod and PetscUseTypeMethod to replace ad hoc use of (*obj->ops->method) in sourceSee merge request petsc/petsc!5376
show more ...
Fix up manual pages in include/ including adding tick marksCommit-type: documentation/spend 4h
Convert setfromoptions methods over to PetscTryTypeMethod() approachFlipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them co
Convert setfromoptions methods over to PetscTryTypeMethod() approachFlipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them consistent with PetscTryTypeMethod() and all the other methodsCommit-type: refactorization/spend 4h
fix mixture of all caps and not all caps for SUBMANSEC for DMPLEX and friendsCommit-type: bug-fix, documentation/spend 50m
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -i "s?\(PetscCall(PetscInitialize(&argc\)?PetscFunctionBeginUser;\n \1?g"Commit-type: error-checking, testing-fix/spend 15m
Changed DMClone_Network to only clone the topological part of the network. Adjusted DMDestroy_Network to compensate. Before this DMClone was broken, and essentially just giving you a shared pointer.
Changed DMClone_Network to only clone the topological part of the network. Adjusted DMDestroy_Network to compensate. Before this DMClone was broken, and essentially just giving you a shared pointer. You could use the clone to mess with the values of the components of the original for example. This is a step in getting DMClone to behave similarly for DMNetwork as other DMs.Added DMNetworkFinalizeComponents() to setup the internal data structures for the components and dofs on a network. Necessary to work with cloned networksAdded basic example to test cloning of a network
Merge branch 'gbetrie/fix-dmnetworkcomponentsetup-updated' into 'main'Fix bug in DMNetWorkComponentSetUp() that did incorrect deep copy of the component dataSee merge request petsc/petsc!5425
Merge branch 'gbetrie/dmnetwork-add-profile' into 'main'Add profiling events for memory intensive routinesSee merge request petsc/petsc!5097
Add profiling events for memory intensive routines
Fix bug in DMNetWorkComponentSetUp() that did incorrect deep copy of the componnt dataIt can now free all the original component data immediately after copying it since the bug is removed
Change if () { PetscCall() } three liner and friends to one linersfor i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\
Change if () { PetscCall() } three liner and friends to one linersfor i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$[ ]*}\$?\1if (\2) PetscCall(\3$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; done for i in `git ls-files | grep "\.[hc]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ }else]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$\([ ]*\)} \([- ._+=a-z0-9A-Z>*,()]*);\)\$?\1if (\2) PetscCall(\3$\4\5$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; doneYes, really ugly but Barry still cannot master awkCommit-type: housekeeping
Modified DMNetoworkLayoutSetup to use MPI_Scan instead of MPI_Allgather for computing global edge indices.
Merge remote-tracking branch 'origin/release'
Fixed Small bug in DMNetworkLayoutSetup. Technically this didn't actually affect anything as every header had the same default maxcomps of 1, but better to fix.
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
Small but important doc for DMNetworkCommit-type: docs-only
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()```
Enable PETSC_ATTRIBUTE_FORMAT()
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
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>
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()
12345678910>>...13