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 ...
chkerr and friends wrapped
doc: more fixes to remove build warnings
Minor
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
make PetscInfo() variadic
SETERRQ[1-9]+ begone
Merge remote-tracking branch 'origin/release'
MatPreallocator: make single-usage restriction explicitAdd and check an internal flag, producing an error ifMatPreallocatorPreallocate is called twice with the sameMatPreallocator. This avoids a
MatPreallocator: make single-usage restriction explicitAdd and check an internal flag, producing an error ifMatPreallocatorPreallocate is called twice with the sameMatPreallocator. This avoids a segmentation fault that wouldarise from trying to access an already-destroyed internal hashstructure.Add a note in the error message and on the man page to this effect,suggesting the use of MatDuplicate(), if two Mats need to bepreallocated.Reported-by: Marius Buerkle <mbuerkle@web.de>
applied attribute format fixes to mat headers
Docs: add link to MatPreallocatorPreallocate from MATPREALLOCATOR man page
Fix manpages: Input/Output Parameter --> Parameters
Fix spelling errors in manpages and comments
MatPreallocator: calculate row offsets to avoid sorting COO over rowsCommit-type: optimization
MatPreallocator: sort instead of inserting single entriesThe previous approach inserted one entry at a time from the hash. Thisresults in a lot of lookup and memmove overhead because the hashed ke
MatPreallocator: sort instead of inserting single entriesThe previous approach inserted one entry at a time from the hash. Thisresults in a lot of lookup and memmove overhead because the hashed keysare recovered in arbitrary order, so rows need to constantly be shifted.Here, we sort all the row indices, then sort each row before inserting.Further optimizations:* The initial sort could be removed by scanning over dnz+onz (producingrow offsets) and dropping column indices directly into the appropriaterow.* An alternative implementation (or related mode) would be to have amode that guarantees no duplicate entries and allow unsorted insertion,with a final sort of each row in MatAssemblyBegin. This would only beuseful on initial assembly.Commit-type: optimizationReported-by: Gautam Bisht
All MPIU_ functions except MPIU_File return MPI error codes for checkingUpdate checkbadSource to find use of CHKERRQ with MPIU_ functionsCommit-type: i.e. error-checking, optimization, bug-fix, p
All MPIU_ functions except MPIU_File return MPI error codes for checkingUpdate checkbadSource to find use of CHKERRQ with MPIU_ functionsCommit-type: i.e. error-checking, optimization, bug-fix, portability-fix, testing-fix, style-fix, feature, documentation, exampleFunded-by:Project:Time: hoursReported-by:Thanks-to:Development Tools: Vim, Emacs, Eclipse
MatPreallocator: support NO_OFF_PROC_ENTRIES flag when assembling
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
MatPreallocatorPreallocate: call MatSetUp
Single petscdir.mk
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
Fix: bs should be 1 for stash of MatPreallocator
123