Add PetscFFlush()
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Inline all of the PetscStr* functions that map to basic str functions so __builtin_ variants can be used by compiler
Make PetscErrorCode a non-discardable enum
PetscLog: implement multithreaded support
Add the perfstubs package to petsc.Example usage:Configure PETSc with: ./configure --download-mpich--download-fblaslapackBuild PETScSetup TAU:wget http://tau.uoregon.edu/tau.tgz./configure
Add the perfstubs package to petsc.Example usage:Configure PETSc with: ./configure --download-mpich--download-fblaslapackBuild PETScSetup TAU:wget http://tau.uoregon.edu/tau.tgz./configure -cc=mpicc -c++=mpicxx -mpi -bfd=download -unwind=download &&make installexport PATH=<tau dir>/x86_64/bin:$PATHBuild and run PETSc example with TAU:cd $PETSC_DIR/src/snes/tutorialsmake ex56mpirun -n 4 tau_exec ./ex56 <args>This should produce 4 profile...* files with profile data that can beviewed with paraprof/pprof:Reading Profile files in profile.*NODE 0;CONTEXT 0;THREAD 0:---------------------------------------------------------------------------------------%Time Exclusive Inclusive #Call #Subrs Inclusive Name msec total msec usec/call---------------------------------------------------------------------------------------100.0 26 1,838 1 41322 1838424 .TAUapplication 73.2 1 1,345 2 168 672950SNESSolve 62.2 3 1,142 2 1282 571442SNESJacobianEval 62.0 1,136 1,138 2 76 569494DMPlexJacobianFE 60.1 0.046 1,105 1 32 1105001 Solve1 15.2 87 279 5 11102 55943 MeshSetup 13.2 0.315 241 1 32 241765 Solve0 7.8 80 144 38785 38785 4MPI_Allreduce() 7.0 69 128 6 43386 21491DualSpaceSetUp 6.2 1 114 4 54 28536PCSetUp 6.0 12 110 2 892 55407PCSetUp_GAMG+ 3.9 70 70 1 0 70888MPI_Init_thread() 3.7 68 68 41747 0 2 MPICollective Sync 3.6 8 66 4 3536 16548SNESFunctionEval 2.6 45 48 171 171 281MPI_Bcast() 1.9 34 34 7836 0 4MPI_Barrier() 1.8 0.567 33 2 68 16912 GAMGCoarsen
show more ...
source code format changes due to .clang-format changes
Remove parent, parentid, flops, time, mem, and memchildren. Deprecate PetscLogObjectParent(), PetscLogObjectMemory(), and PetscNewLog()
makefile: fix typo - petsckdir.mk -> petscdir.mk
Fix up all manual pages in src/sys directoryCommit-type: documentation/spend 10h
Remove braces from one-liners
clang-format: convert PETSc sources to comply with clang-format
No longer initialize PetscDevice greedily with -log_view (to front load handle costs), instead have separate log events for them
add CUDA nvtx to events logs
Add slight docs and clarification on four types of memory logging in eventsCommit-type: documentation/spend 20m
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
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
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
Remove PetscCheckFalse() from sys directoryCommit-type: housekeeping/spend 30m
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 some PetscCheckFalse()
fixup some remaining stragglers from !4889
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
123456