Merge remote-tracking branch 'origin/release'
Remove unneeded " on xxx" from most Collective comments in manual pagesThe phrase was unneeded 99% of the timeI did not remove in the dm directory since another MR is still active that affects th
Remove unneeded " on xxx" from most Collective comments in manual pagesThe phrase was unneeded 99% of the timeI did not remove in the dm directory since another MR is still active that affects that directoryCommit-type: documentation/spend 20m
show more ...
Purge sprintf() from the repo
source code format changes due to .clang-format changes
makefile: fix typo - petsckdir.mk -> petscdir.mk
Rework PetscDeviceContext backends and supporting code:- Add PETSC_DEVICE_HOST- Add PetscDeviceAllocate()- Add PetscDeviceMalloc()- Add PetscDeviceDeallocate()- Add PetscDeviceFree()- Add Petsc
Rework PetscDeviceContext backends and supporting code:- Add PETSC_DEVICE_HOST- Add PetscDeviceAllocate()- Add PetscDeviceMalloc()- Add PetscDeviceDeallocate()- Add PetscDeviceFree()- Add PetscDeviceMemcopy()- Add PetscDeviceArraycopy()- Split petscdevice.h into petscdevice_cuda.h and petscdevice_hip.h- Add petscdevice_cupm.h- Extend cupm::Interface and cupm::BlasInterface classes- Add more C++ utility wrappers
Fix up all manual pages in src/sys directoryCommit-type: documentation/spend 10h
Remove incorrect use of PetscFunctionReturn(nonzero integer value). Add this rule to the developers guideCommit-type: house-keeping/spend 1hReported-by: Pierre Jolivet
Remove braces from one-liners w/o PetscCall()
Remove braces from one-liners
clang-format: convert PETSc sources to comply with clang-format
Switch from memalign to posix_memalignmemalign is an obsolete function that is not implemented on FreeBSD,OSX, or MSWIN. Being obsolete, it's also not handled by some memoryprofilers. posix_memal
Switch from memalign to posix_memalignmemalign is an obsolete function that is not implemented on FreeBSD,OSX, or MSWIN. Being obsolete, it's also not handled by some memoryprofilers. posix_memalign is a standard and more widely implemented.
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
Avoid undefined behavior in PetscMallocAIf PetscMallocA is asked to allocate zero bytes, the subsequent logic toassign the input pointers to the appropriate points in the allocatedblock (which is
Avoid undefined behavior in PetscMallocAIf PetscMallocA is asked to allocate zero bytes, the subsequent logic toassign the input pointers to the appropriate points in the allocatedblock (which is NULL) invoke undefined behavior. Avoid this byexplicitly checking for this case and simply assigning NULL directly toall output pointers.Clang ubsan flags this at runtime as "applying zero offset to nullpointer" (https://reviews.llvm.org/D67122).Fixes #1180.
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()
replace if (...) return PetscError with PetscCheck() and other minor tweaks
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()
12345678910