checkbadSource: enforce proper style in makefiles
LIBBASE is no longer used in make so remove it
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Remove DIRS variable and unneeded tabs from all makefiles since no longer neededCommit-type: housekeeping
Sys: add PetscGetCurrentCUDA/HIPStream()
Rename PetscValidPointer -> PetscAssertPointer
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Use designated initializers in CUPMContext and copy ops struct directly instead of using mempcy
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
Vec CUPM implementation to replace old CUDA and HIP versions
source code format changes due to .clang-format changes
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 ...
clang-format: convert PETSc sources to comply with clang-format
No longer initialize PetscDevice greedily with -log_view (to front load handle costs), instead have separate log events for them
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
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()
chkerr and friends wrapped
split blas interface for cupm into cupmblasinterface
- Replace the current CUPM initialization infrastructure with PetscDevice.- Remove -petsc_use_default_null_stream and -[cuda|hip]_synchronize options- Remove PetscCUDASynchronize and PetscHIPSynchr
- Replace the current CUPM initialization infrastructure with PetscDevice.- Remove -petsc_use_default_null_stream and -[cuda|hip]_synchronize options- Remove PetscCUDASynchronize and PetscHIPSynchronize- Remove PetscCUDAInitialize(), PetscCUDAInitializeCheck(), PetscHIPInitialize(), andPetscHIPInitializeCheck()- Remove PetscCUBLASInitializeHandle(), PetscCUSOLVERDnInitializeHandle(),PetscHIPBLASInitializeHandle(), and PetscHIPSOLVERInitializeHandle().- Remove petsc_gputimer_begin and petsc_gputimer_begin- Add -device_enable, -device_select and -device_view options- Replace -[cuda|hip]_device with split options -device_enable_[cuda|hip] and -device_select_[cuda|hip]- Replace -[cuda|hip]_view with -device_view_[cuda|hip]- Add PetscDeviceInitType- Add PetscDeviceInitialize() and PetscDeviceInitialized()- Add PetscDeviceView()
Added PetscDevice to manage interaction and configuration of available devices.Added PetscDeviceContext class to manage stream interactions for CUDA and HIP devicebackends. The new class is design
Added PetscDevice to manage interaction and configuration of available devices.Added PetscDeviceContext class to manage stream interactions for CUDA and HIP devicebackends. The new class is designed to facilitate a fork-join parallelization model forasynchronous compute.