Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\
Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\) {([^;]*);([^;]*)}$#\1\2 \(\3\)\4;\5#'
show more ...
Convert some SETERRQ() to PetscCheck()
missing "s" for isascii and issundials
MatSolverTypeRegister: switch to PETSC_INTERN
checkbadSource: rules for PetscFunctionBegin and derivatives
LIBBASE is no longer used in make so remove it
Merge remote-tracking branch 'origin/release'
Update references in the manual pages to use Sphinx citation processing
Fix Strumpack interface to properly support its optional packagesReported-by: Fabien Alet
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Remove DIRS variable and unneeded tabs from all makefiles since no longer neededCommit-type: housekeeping
Update the interface to STRUMPACKSTRUMPACK provides a sparse direct solver (but unlike fi SuperLU, it is based on the multifrontal method). STRUMPACK also provides preconditioners based on approxim
Update the interface to STRUMPACKSTRUMPACK provides a sparse direct solver (but unlike fi SuperLU, it is based on the multifrontal method). STRUMPACK also provides preconditioners based on approximate multifrontal LU factorization. In the precoditioners larger dense blocks in the sparse LU factors are compressed using rank-structured matrix approximations (or using lossy/lossless compression using the ZFP library).See https://github.com/pghysels/STRUMPACK https://portal.nersc.gov/project/sparse/strumpack/This commit adds different preconditioning options. Previously only the HSS (hierarchically Semi-Separable) format was supported. Now we also have BLR (Block Low Rank), HODLR (Hierarchically Off-Diagonal) with the option to replace low-rank with butterfly, Lossy and Lossless compression (through ZFP). The new methods work considerably better than the older HSS code. When using-pc_type lu -pc_factor_mat_solver_type strumpackthe solver behaves as a direct solver. When using-pc_type ilu -pc_factor_mat_solver_type strumpackit will work as a preconditioner, using BLR compression. This should be a robust preconditioner for a wide range of problems. One can tune the compression tolerance, and the minimum block (separator) size for compression using:-mat_strumpack_compression_rel_tol 1e-3 -mat_strumpack_compression_min_sep_size 500You can also select the compression type explicitly-pc_type ilu -pc_factor_mat_solver_type strumpack -mat_strumpack_compression LOSSYFor now we recommend BLR, as it seems to work best, and does not require additional external dependencies (it is also what MUMPS implements).Also updates the test src/ksp/ksp/tutorials/ex52.c.Also adds support for the solve with multiple RHS.Also adds an option for the GEOMETRIC fill-reducing ordering which performs nested dissection on a regular nx x ny x nz grid with nc degrees of freedom per grid-point and a stencil (potentially a wider stencil). It is assumed that the matrix is in the natural (lexicographical?) ordering. This can make reordering much faster for regular grid problems.Also adds installation scripts STRUMPACK dependencies SLATE, ZFP and ButterflyPACK. SLATE is a scalapack replacement with GPU capabilities. ZFP is used for floating point compression. ButterflyPACK is used for the HODLR and HODBF compression schemes.
Lint apply: mat
change to consistent use of ch_xxx for chapter names in the docs, instead of a mix of ch_xx and chapter_xx
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Cleanup of mat manual pagesCommit-type: documentation
Merge branch 'barry/2023-02-22/rm-locdir' into 'main'Remove need for hardwired LOCDIR in all makefilesSee merge request petsc/petsc!6113
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
strumpack: make strumpack use mat->data (instead of mat->spptr) for its special data, have its own mat type name, and also make it device friendlymat->spptr is used by sequential device matrix type
strumpack: make strumpack use mat->data (instead of mat->spptr) for its special data, have its own mat type name, and also make it device friendlymat->spptr is used by sequential device matrix types (e.g., matseqaijcusparse), so we should avoid the conflict
Make PetscErrorCode a non-discardable enum
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
1234