| #
b94d7ded
|
| 13-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Refactor handling of setable properties of matrices via MatSetOptions()
Introduce PetscBool3 with enum values true, false, and unknown
Use 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 unknown
Use PetscBool3 to store matrices properties in a matrix and cleanup interface to check these values
Add full support for symmetric, Hermitian, structurally symmetric, and SPD.
Commit-type: feature /spend 6h
show more ...
|
| #
145e6476
|
| 23-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-13/make-one-line-if-call' into 'main'
Change if () { PetscCall() } three liner to one liner
See merge request petsc/petsc!5344
|
| #
1baa6e33
|
| 14-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Change if () { PetscCall() } three liner and friends to one liners
for 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 liners
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
show more ...
|
| #
5a9175c2
|
| 22-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'hzhang/external-matfactor-options' into 'main'
Get options in symbolic factorization instead of MatGetFactor() using KSP/PC prefix when inside KSP
See merge request petsc/petsc!5230
|
| #
26cc229b
|
| 06-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Change matrix factor database options that occur in KSP/PC to always use KSP/PC options prefix
Add MatSetOptionsPrefixFactor() and MatAppendOptionsPrefixFactor() to allow controlling the options pre
Change matrix factor database options that occur in KSP/PC to always use KSP/PC options prefix
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
show more ...
|
| #
89669be4
|
| 02-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'psanan/docs-sphinx-man-pages' into 'main'
Integrate Man Pages into Sphinx Docs
Closes #1132 and #1015
See merge request petsc/petsc!4989
|
| #
dce61c16
|
| 01-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-04-27/add-fortran-example-matsetvaluescoo' into 'main'
Use MatSetPreallocationCOO() in Fortran example
See merge request petsc/petsc!5182
|
| #
56856777
|
| 28-Apr-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Need manual Fortran interfaces for MatSetPreallocationCOO and co since they take a PetscCount argument
PetscCount is always 64 bit and Fortran cannot automatically promote integer arguments so need
Need manual Fortran interfaces for MatSetPreallocationCOO and co since they take a PetscCount argument
PetscCount is always 64 bit and Fortran cannot automatically promote integer arguments so need also integer4 interface so users don't need to always declare the nz as 64 bit integers. Yes users can declare it as PetscCount in Fortran but some users don't like PETScisms spewed all over their code
/spend 15m
show more ...
|
| #
e63c167f
|
| 30-Apr-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-04-28/rm-petsccheckfalse-mat' into 'main'
Remove the rest of the PetscCheckFalse() from the mat directory
See merge request petsc/petsc!5184
|
| #
db781477
|
| 25-Apr-2022 |
Patrick Sanan <patrick.sanan@gmail.com> |
Docs: bulk add backticks to .seealso man page fields
```python import os import re import fileinput
def _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields
```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() ```
show more ...
|
| #
aed4548f
|
| 29-Apr-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Remove the rest of the PetscCheckFalse() from the mat directory
Commit-type: housekeeping /spend 45m
|
| #
527ad957
|
| 11-Apr-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-04-01/fix-petsc-options-begin-end/release' into 'main'
Remove bogus error returns from Begin/End() macros
See merge request petsc/petsc!5069
|
| #
d0609ced
|
| 02-Apr-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
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 changes
Commit-type: error-checking, style-fix /spend 8h
show more ...
|
| #
b33f4bec
|
| 05-Apr-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/feature-less-checkfalse' into 'main'
Dividing by four the number of PetscCheckFalse()
See merge request petsc/petsc!5072
|
| #
08401ef6
|
| 04-Apr-2022 |
Pierre Jolivet <pierre@joliv.et> |
Remove some PetscCheckFalse()
|
| #
f882803c
|
| 26-Mar-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-02-23/variadic-chkerr' into 'main'
Variadic CHKERRQ()
See merge request petsc/petsc!4889
|
| #
9566063d
|
| 25-Mar-2022 |
Jacob Faibussowitsch <jacob.fai@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()
show more ...
|
| #
dadcf809
|
| 03-Mar-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
fixes from recent linter change
|
| #
28b400f6
|
| 03-Mar-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
pluck ~1000 low hanging PetscCheckFalse() -> PetscCheck() fruit
|
| #
5f80ce2a
|
| 24-Feb-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
chkerr and friends wrapped
|
| #
72ef9a7f
|
| 18-Mar-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jed/dm-prealloc-skip' into 'main'
DMSetMatrixPreallocateSkip: skip setup that will be discarded with MatSetPreallocationCOO()
See merge request petsc/petsc!4990
|
| #
aa0f6e3c
|
| 18-Mar-2022 |
Jed Brown <jed@jedbrown.org> |
DMSetMatrixPreallocateSkip: skip setup that will be discarded with MatSetPreallocationCOO()
Analytic matrix preallocation runs on CPU and is relatively expensive. It is entirely discarded when MatSe
DMSetMatrixPreallocateSkip: skip setup that will be discarded with MatSetPreallocationCOO()
Analytic matrix preallocation runs on CPU and is relatively expensive. It is entirely discarded when MatSetPreallocationCOO() is called.
show more ...
|
| #
6584f52a
|
| 11-Mar-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'stefanozampini/matis-negative-indices' into 'main'
matis negative indices
See merge request petsc/petsc!4923
|
| #
cbc6b225
|
| 10-Mar-2022 |
Stefano Zampini <stefano.zampini@gmail.com> |
MatSetPreallocationCOO: avoid MatHeaderMerge
|
| #
6834774d
|
| 01-Mar-2022 |
Stefano Zampini <stefano.zampini@gmail.com> |
MatSetPreallocationCOOLocal: allow subtype implementations
|