MATAIJ: fix some more direct usage of values arrayRemove unused MatDistribute_MPIAIJ code
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-pro
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-process their errors better.The test harness will now automatically retry tests that fail with MPI, this may help with Intel MPI that produces seemingly random failures.Commit-type: error-checking/spend 30m
show more ...
Add MatOption MAT_FORCE_DIAGONAL_ENTRIES; rm MAT_NEW_DIAGONALSReported-by: Nourgaliev, Robert Nr <nourgaliev1@llnl.gov>implemented for C = At*B with aij for all the algorithmsimplemented for C = A
Add MatOption MAT_FORCE_DIAGONAL_ENTRIES; rm MAT_NEW_DIAGONALSReported-by: Nourgaliev, Robert Nr <nourgaliev1@llnl.gov>implemented for C = At*B with aij for all the algorithmsimplemented for C = A*B with aij matrices
Merge branch 'jose/release/pgi-20.9-warnings' into 'release'Fix warnings in NVIDIA compilers (formerly PGI)See merge request petsc/petsc!3397
Fix warnings in NVIDIA compilers (formerly PGI): unreachable statement
Remove remnant CUSP declarations/references
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
Mat: Replace 0 -> NULL for pointers
Merge remote-tracking branch 'origin/maint'
Spring cleaning
Single petscdir.mk
PetscUnlikelyDebug: add useful macro for conditionals that should be skipped in optimized mode
PetscDefined: remove many uses of #ifdef PETSC_USE_DEBUG
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petsc
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petscdir.mk in many of the makefilesStill needs the link for ../petscdir.mk in many directoriesGNUMakefile: call legacy makefile recursively instead of including itGNUMakefile: promote default "all" target; "libs" builds libpetsc*GNUMakefile: If gnumake < 4.2 prefer makefile wrapper interface over direct gmakefile interface to avoid the following warningsgmakefile.test:92: arch-ci-linux-cxx-cmplx-pkgs-64idx/tests/testfiles: No such file or directorygmakefile:67: arch-ci-linux-cxx-cmplx-pkgs-64idx/lib/petsc/conf/files: No such file or directoryCommit-type: testing-fix, feature, usabilityThanks-to: Jed Brown jed@jedbrown.org
Bug fix: computing MG complexity had integer overflow. Would only occur for very large problemsAlso fixed code that computes parallel matrix storage information to communicate with PetscLogDouble i
Bug fix: computing MG complexity had integer overflow. Would only occur for very large problemsAlso fixed code that computes parallel matrix storage information to communicate with PetscLogDouble instead of PetscReal.Commit-type: bug-fixReported-by: Mark Lohry <mlohry@gmail.com>
PetscLayout: forbid calling setup twice with different sizes* PetscLayout objects should be considered immutable, especially because they can be shared.* Make use of PetscLayoutCreateFromSizes().
PetscLayout: forbid calling setup twice with different sizes* PetscLayout objects should be considered immutable, especially because they can be shared.* Make use of PetscLayoutCreateFromSizes().* setupcalled is now the single indicator that PetscLayout is ready.* Insure the rest of variables (e.g. map->rstart) are calculated even if n, N and range are set.
Merged in jczhang/mat-remove-unnecessary-global-IS (pull request #1816)Remove unnecessary global IS when setting up MvctxApproved-by: BarryFSmith <bsmith@mcs.anl.gov>Approved-by: Jed Brown <jed@
Merged in jczhang/mat-remove-unnecessary-global-IS (pull request #1816)Remove unnecessary global IS when setting up MvctxApproved-by: BarryFSmith <bsmith@mcs.anl.gov>Approved-by: Jed Brown <jed@59a2.org>
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some Pets
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some PetscMalloc*()3) Eliminated unneeded PetscCalloc*()4) Removed some memory allocations and copies in MatFDColoringSetUp(), added local variables for better compiler optimization5) Added MatSetValues_SeqAIJ_SortedFull(), added MatSetOption(MAT_SORTED_FULL)6) Optimized DMCreateMatrix_DA_*AIJ for nonperiodic case to automatically have sorted columns (faster MatSetValues() times)7) Eliminated call to PetscMemzero() in PetscFree()Commit-type: style-fix, feature
Remove unnecessary global IS when setting up MvctxISCreateGeneral(((PetscObject)mat)->comm..) will incur MPI_Allreduce on the communicator.
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*()
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*() with PetscArraymove()Commit-type: style-fix, feature
Fixed misspelling of "paradigm" throughout manual pages.
Update the use of Collective on in the manual pages to reflect the new styleCommit-type: style-fix, documentationThanks-to: Patrick Sanan <patrick.sanan@gmail.com>
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be unif
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be uniformly used or maintained.Thus, remove all .keywords: fields, and a following blank line, if present.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 lookfor and delete matching lines with a following line consisting of only whitespace,and then delete any remaining matching lines. find src/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find src/ -type f -exec gsed -i '/keywords:/d' {} + find include/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find include/ -type f -exec gsed -i '/keywords:/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
1234567