Make PetscErrorCode a non-discardable enum
Consolidate various C++ pool allocators into single implementation
Sys: Updated tests
Add explicit test for PetscDevice command line init sequence controls
Fix checkbadSource violations from release MRs
Add explicit tests for the marked object map
Test PetscDeviceContextSetStreamType() before and after PetscDeviceContextSetUp()
Allow non-c++ builds to run the device tests
Test PetscDeviceContextQueryIdle
improve coverage of various PetscDevice and PetscDeviceContext corner cases
Add a fast-path when repeatedly marking the same object with conflicting access modes to avoid excessive event churn
source code format changes due to .clang-format changes
PetscDeviceAllocate() takes an alignment parameter as well
Rework PetscDeviceContext backends and supporting code:- Add PETSC_DEVICE_HOST- Add PetscDeviceAllocate()- Add PetscDeviceMalloc()- Add PetscDeviceDeallocate()- Add PetscDeviceFree()- Add Petsc
Rework PetscDeviceContext backends and supporting code:- Add PETSC_DEVICE_HOST- Add PetscDeviceAllocate()- Add PetscDeviceMalloc()- Add PetscDeviceDeallocate()- Add PetscDeviceFree()- Add PetscDeviceMemcopy()- Add PetscDeviceArraycopy()- Split petscdevice.h into petscdevice_cuda.h and petscdevice_hip.h- Add petscdevice_cupm.h- Extend cupm::Interface and cupm::BlasInterface classes- Add more C++ utility wrappers
show more ...
Add PetscDeviceAttribute and PetscDeviceGetAttribute() to allow querying properties for aparticular PetscDevice
Remove braces from one-liners w/o PetscCall()
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
Sys: initialize device early to get more accurate timing
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
Cast enum to int when comparing for >= 0 because NVHPC compiler treats basic enums asunsighed and thus produces warnings about pointless comparison of unsigned int to zero/spend 45m
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
123