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
Sys: Kokkos::InitializationSettings in origin/develop
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
make kokkos init more durable by using default constructor
Kokkos: add sycl support
- 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()
Kokkos: add a config option to disable warnings in Kokkos initialization
Kokkos: fix a bug in Kokkos::initialize. We need to set args.num_threads
Fix warnings from PGI and clang compiler
PetscSF: need to initialize backends to access malloc functionality
KokkosInitialize: fix unused variable in CPU only case
merge with funny conflics
Kokkos: lazy initialization
Add PetscKokkosInitializeCheck()
Implement sfcuda and sfkokkos as runtime options
Add Kokkos initialization
12