checkbadSource: enforce proper style in makefiles
Remove need for seperate lib/petsc/conf/test file by merging with rules fileCommit-type: maintainability
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
source code format changes due to .clang-format changes
clang-format: convert PETSc sources to comply with clang-format
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -
Add PetscFunctionBeginUser to all PETSc C/C++ examplesNow the stack frames will contain the main program and the correct line numbers in themgit ls-files | egrep "(tutorials|tests)" | xargs sed -i "s?\(PetscCall(PetscInitialize(&argc\)?PetscFunctionBeginUser;\n \1?g"Commit-type: error-checking, testing-fix/spend 15m
show more ...
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commi
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commit since the changes all have to be done at onceCommit-type: docs/spend 10m
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Remove extra spaces and unwanted plurals
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 changesCommit-type: error-checking, style-fix/spend 8h
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()
PetscInitialize() and PetscFinalize() wrapped:- ierr = PetscInitialize();if (ierr) return ierr;+ CHKERRQ(PetscInitialize());- ierr = PetscFinalize();- return ierr;+ CHKERRQ(PetscFinalize());+
PetscInitialize() and PetscFinalize() wrapped:- ierr = PetscInitialize();if (ierr) return ierr;+ CHKERRQ(PetscInitialize());- ierr = PetscFinalize();- return ierr;+ CHKERRQ(PetscFinalize());+ return 0;
chkerr and friends wrapped
Some missing CHKERR[Q|MPI]
Remove all double blank lines from sourceCommit-type: petsc-style/2h
PetscSFView() never called viewer for the specific type (bug), hence many output files were incorrect.Added PetscSFView() support for basic MPI implementation and binary viewer saves communication
PetscSFView() never called viewer for the specific type (bug), hence many output files were incorrect.Added PetscSFView() support for basic MPI implementation and binary viewer saves communication data to binary file.This new viewer shows exactly how much data is sent from each rank to the other ranksallowing fiting various performanace models to the data.This uses MatView() to save the PetscSF data, but since Mat is above PetscSF in the software stackthe code will not work with multiple PETSc libraries. How should this be managed if one wishes to preserve thetraditionl PETSc algorithm stack?Commit-type: bug-fix, featureFunded-by: brain projectProject: brain projectspend 1hUpdate sfbasic.c save the transpose of the matrix since that indicates the sends for each rank which is easier to understandEnable PetscSFView_Basic_PatternAndSizes only with single library
Provide an example src/dm/tutorials/ex25.c that takes a patch from a parallel DMDA to one processFix DMZoomPatch() to work in 2d and and support not requesting a haloRemove unneeded Vec argument
Provide an example src/dm/tutorials/ex25.c that takes a patch from a parallel DMDA to one processFix DMZoomPatch() to work in 2d and and support not requesting a haloRemove unneeded Vec argument from DMZoonPatch()Minor improvements to manual pagesCommit-type: bug-fix, feature, example/spend 4hReported-by: Victoria Hamtiaux <victoria.hamtiaux@uclouvain.be>
Single petscdir.mk
Provide support for not setting PETSC_DIR when gnumake is being used; this will prevent some petsc-maint/petsc-users email threadsCommit-type: error-checking, testing-fix, feature, exampleThanks-t
Provide support for not setting PETSC_DIR when gnumake is being used; this will prevent some petsc-maint/petsc-users email threadsCommit-type: error-checking, testing-fix, feature, exampleThanks-to: Jed Brown <jed@jedbrown.org>Thanks-to: Lisandro Dalcin <dalcinl@gmail.com>
Promote examples/{tests,tutorials}/ to {tests,tutorials}/This shortens paths and improves consistency between test target namesand paths to the source and output files. Most of the work wascompl
Promote examples/{tests,tutorials}/ to {tests,tutorials}/This shortens paths and improves consistency between test target namesand paths to the source and output files. Most of the work wascompleted by this script, followed by mild cleanup of nonconformingcases.for makefile in `git ls-files 'src/*makefile'`; do if rg -q 'DIRS.*\bexamples\b' $makefile; then base=$(dirname $makefile) dirs=$(cd $base/examples && ls -d tests tutorials 2>/dev/null | xargs echo) perl -pi -e "s#^(DIRS.*)\bexamples\b#\1${dirs}#" $makefile git rm $base/examples/makefile for t in $dirs; do git mv $base/examples/$t $base/ perl -pi -e "s#^(LOCDIR[[:space:]]*=).*#\1 $base/$t/#" $base/$t done fidonegit grep -l -E -z 'examples/(tutorials|tests)' | xargs -0 perl -pi -e 's#examples/(tutorials|tests)#\1#g'git checkout @ \ src/docs/website/documentation/changes/ \ src/benchmarks/results/