MATHYPRE: fix warnings from Optimized builds with GCC
HYPRE: support HYPRE in DEVICE MODEThis is an initial contribution that allows running BoomerAMG and the HYPRE matrix constructed from PETSC on a GPU
hypre: fix for removal of hypre_ParCSRMatrixSetRowStartsOwner() etc.
Some missing CHKERR[Q|MPI]
Removed CHKERRQ() that come immediately after SETERRQ(), add test to checkbadSource() to find such constructsCommit-type: bug-fix, error-checking\spend 10mReported-by: Lisandro Dalcin <dalcinl@gm
Removed CHKERRQ() that come immediately after SETERRQ(), add test to checkbadSource() to find such constructsCommit-type: bug-fix, error-checking\spend 10mReported-by: Lisandro Dalcin <dalcinl@gmail.com>
show more ...
CHKERRQ() -> CHKERRMPI()
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
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
MatConvert_AIJ_HYPRE: skip rendezvous in MatAssemblyBegin/End_HYPRE
Update to hypre 2.19.0 and to MUMPS 5.3.1
MatProduct: proper cleanup of additional data structureDo not mess with view/destroy routine, add an extra slot to MatProduct struct to stash the data, destroy/view routinesDeprecate MatFreeInterm
MatProduct: proper cleanup of additional data structureDo not mess with view/destroy routine, add an extra slot to MatProduct struct to stash the data, destroy/view routinesDeprecate MatFreeIntermediateStructures in favor of MatProductClearClean up base headers for matrix classesUpdate tests (remove some todos from ex70 because now the tests work properly)MatProductSetType should not set the setfromoptions operation!MatProductClear should reset operationsRemove no longer needed function compositionAdd few more PetscInfo messagesSingle dispatch routineMatProductSetFromOptions routines are now allowed to failMatProductSetFromOptions_SeqXBAIJ_SeqDense: support for MATPRODUCT_AtBMatTransposeMatMultNumeric_SeqAIJ_SeqDense: fix bug with leading dimensionsMake internal functions PETSC_INTERNFix a couple of places where the destroy routine of the matrix was changedProducts should all use internal data (or composed data attached to the internal data)Fix few bugs in MPIAIJ_MPIDENSE product with stages
Minor
Merge remote-tracking branch 'origin/maint'
Single petscdir.mk
Revert "enable MatSetOption() for matproduct; Reported by Nourgaliev, Robert Nr <nourgaliev1@llnl.gov>"This reverts commit 0e1ed72ee065c9f36858e956742a5e16988d3676.
PetscDefined: remove many uses of #ifdef PETSC_USE_DEBUG
enable MatSetOption() for matproduct; Reported by Nourgaliev, Robert Nr <nourgaliev1@llnl.gov>add MatSetType() in MatProductSetFromOptions_Atype_Btype_Ctype()fix MatSetOption_MPIAIJ for case MAT_US
enable MatSetOption() for matproduct; Reported by Nourgaliev, Robert Nr <nourgaliev1@llnl.gov>add MatSetType() in MatProductSetFromOptions_Atype_Btype_Ctype()fix MatSetOption_MPIAIJ for case MAT_USE_INODES
Add the product type and matrix types for the error report in MatProductSetFromOptions_matA_matB_matC()Requested by Jed Brown
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
Merge remote-tracking branch 'origin/hzhng/matproduct-api'
This branch reorganizes the API of mat-mat operations: A*B, At*B, A*Bt, PtAP, RARt, A*B*C- See matproduct.c for detailed description of new API- removed API function XXXSymbolic() and XXXNumeric()
This branch reorganizes the API of mat-mat operations: A*B, At*B, A*Bt, PtAP, RARt, A*B*C- See matproduct.c for detailed description of new API- removed API function XXXSymbolic() and XXXNumeric()- removed subroutines MatMatMult_xxx, MatPtAP_xxx, ...- modified MatxxxSymbolic_XXX() prototype (product is an input now)- selection of algorithm is in MatProductSetFromOptions_xxx()
Use MAT_SORTED_FULL in MatHYPRE
Fixes enabling MATSEQAIJMKL to use composed functions for AIJ-HYPRE operations.Without these fixes, ex115 in the matrix tests fails when running with -mat_seqaij_type seqaijmkl
12345678910