- Dec 17, 2023
-
-
Barry Smith authored
-
- Dec 01, 2023
-
-
- Sep 26, 2023
-
-
- Aug 16, 2023
-
-
Jacob Faibussowitsch authored
-
- Apr 27, 2023
-
-
Stefano Zampini authored
This is only for those combinations that cannot be checked if not at runtime
-
- Mar 11, 2023
-
-
Jacob Faibussowitsch authored
-
- Feb 02, 2023
-
-
Jacob Faibussowitsch authored
-
- Sep 21, 2022
-
-
Jacob Faibussowitsch authored
-
- Sep 19, 2022
-
-
Jacob Faibussowitsch authored
Remove parent, parentid, flops, time, mem, and memchildren. Deprecate PetscLogObjectParent(), PetscLogObjectMemory(), and PetscNewLog()
-
Commit-type: documentation /spend 10h
-
- Aug 22, 2022
-
-
Satish Balay authored
-
- Aug 17, 2022
-
-
Flipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them consistent with PetscTryTypeMethod() and all the other methods Commit-type: refactorization /spend 4h
-
- Jun 23, 2022
-
-
for 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 ; done Yes, really ugly but Barry still cannot master awk Commit-type: housekeeping
-
- Jun 21, 2022
-
-
Barry Smith authored
Add MatSetOptionsPrefixFactor() and MatAppendOptionsPrefixFactor() to allow controlling the options prefix used by factors created from this matrix Change MatSetOptionsPrefix() to no longer affect the options prefix used by factors created from this matrix As part of the above work the handling of the factor matrix options is now done in code in the factor matrix not in the code that originates the factor matrix Update examples output to the new approach where the factored matrix prefix is set from the KSP/PC Much of this work was performed by Hong Zhang Commit-type: usability /spend 5h
-
- Jun 16, 2022
-
-
Stefano Zampini authored
-
- May 04, 2022
-
-
Pierre Jolivet authored
-
- May 03, 2022
-
-
Patrick Sanan authored
```python import os import re import fileinput START_PATTERN = re.compile(r"^( *\.seealso:? )(.*$)") FIX_PATTERN = re.compile(r",([^ $\n])") def _fix_comma(matchobj): return "`, `%s" % matchobj.group(1) def process_file(filename_full): """ Find/fix commas w/o trailing spaces or newlines in .seealso blocks """ with fileinput.FileInput(filename_full, inplace=True) as the_file: in_block = False for line in the_file: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close 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: in_block = True if in_block: if re.search(FIX_PATTERN, line): line_fixed = re.sub(FIX_PATTERN, _fix_comma, line) print(line_fixed, end="") # prints to file else: print(line, end="") # prints to file else: print(line, end="") # prints to file BASE_DIRS = ["src", "include"] EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"] EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"] def main(): """ Process files in local tree(s) """ 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) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir) if __name__ == "__main__": main() ```
-
- May 01, 2022
-
-
Pierre Jolivet authored
-
- Apr 29, 2022
-
-
Patrick Sanan authored
```python import os import re import fileinput def _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 file BASE_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() ```
-
Patrick Sanan authored
-
- Apr 10, 2022
-
-
* 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 changes Commit-type: error-checking, style-fix /spend 8h
-
- Mar 26, 2022
-
-
Jacob Faibussowitsch authored
- 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()
-
- Mar 25, 2022
-
-
Jacob Faibussowitsch authored
-
- Mar 17, 2022
-
-
Satish Balay authored
Notation: . * - text or . year - text
-
- May 24, 2021
-
-
Commit-type: petsc-style /2h
-
- Apr 02, 2021
-
-
Barry Smith authored
to indicate its preferered ordering, which may be external (its own) or one of PETSc. This also affects factorization like dense PETsc where the ordering passed in by PETSc is ignored and not needed. Also fixed options for MUMPS and SuiteSparse where users needed to pass a particular options database option to the package (MUMP or KLU) indicating they should use the PETSc provided ordering. Now if the PETSc provided ordering is provided these packages automatically use them without need a special option. This simplifies ordering usage for external packages Commit-type: optimization, bug-fix, testing-fix, style-fix /spend 6h
-
Barry Smith authored
We need to distinquish whether the package can use an external ordering and if that is desirable (the internal ordering may be faster). Commit-type: style-fix /spend 15m
-
- Aug 25, 2020
-
-
Commit-type: portability-fix, testing-fix, style-fix, feature, maintainability /spend 1.5h
-
- Jul 02, 2020
-
-
Barry Smith authored
Most external factorization packages do not use the ordering provided by PETSc, therefor only provide it when needed. Adds MatOrderingType external to indicate not to generate an ordering and use what the package needs Now -pc_view will not print the wrong PETSc ordering when the ordering is done externally Saves some memory and compute time. Commit-type: optimization Time: 1.2 hours Reported-by: Junchao Zhang <junchao.zhang@gmail.com> Thanks-to: Stefano Zampini <stefano.zampini@gmail.com>
-
- Jun 28, 2020
-
-
Pierre Jolivet authored
-
- Jun 04, 2020
-
-
Pierre Jolivet authored
* Deprecate KSPHPDDMMatSolve * Add KSPMatSolve, previously known as KSPHPDDMMatSolve * New option -ksp_matsolve_block_size * New routines MatDense[Get|Restore]SubMatrix
-
- May 14, 2020
-
-
Lisandro Dalcin authored
-
- Jan 06, 2020
-
-
- May 30, 2019
-
-
These fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209 Remove these fields from all man pages (but not from examples). This is accomplished with GNU sed (gsed on OS X), with the following commands. *Warning* that this type of command can corrupt a .git directory, so be cautious in reusing or modifying these commands. They first look for and delete matching lines with a following line consisting of only whitespace, and then delete any remaining matching lines. find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} + Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
-
- May 06, 2019
-
-
Barry Smith authored
Remove dead code. Subclasses of factor simply called parent method; remove unneeded subclass function Commit-type: style-fix Development Tools: Vim, Emacs, Eclipse
-
- Jun 22, 2018
-
-
Lisandro Dalcin authored
-
- Apr 16, 2018
-
-
Patrick Sanan authored
This allows for proper formatting from sowing. On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \( -name "*.c" -or -name "*.h" -or -name "*.cxx" \) | xargs gsed -i 's/Notes\s*:\s*\(\w.*\)/Notes:\n \1/' This adds a newline and 4 spaces whenever "Notes:" is followed by any "word" character, in any .c, .h, or .cxx file in src/ or include/
-
- Jan 29, 2018
-
-
Barry Smith authored
Commit-type: style-fix Reported-by: Franck Houssen <franck.houssen@inria.fr>
-
- Jan 26, 2018
-
-
Barry Smith authored
Commit-type: style-fix, documentation
-
- Dec 21, 2016
-
-
Barry Smith authored
Since all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETSc Time: 1.5 hours Thanks-to: Andreas Mang <andreas@ices.utexas.edu>
-