SF: add support to view the communication pattern as a matrix
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds les
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds lesstightly, so the result of the computation would otherwise change.
show more ...
Fix manpages: Argument --> Parameter (required to enable sowing checks)
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.
Some missing CHKERR[Q|MPI]
PetscSFGather: allow rootbuf == leafbuf for master process
checkBadSource: fix ierr=
PetscStack : check for correct push/popEnforce checkstack for CI jobsFixes from testsuite
Update badsource rules- Zero or more spaces are not allowed for more returning types- zero spaces not allowed for for|if|while
SFHIP: bring back some comment-out code
SFHIP: minor update to ease visual comparison with sfcuda
SFHIP: PETSC_HAVE_COMPLEX codepath does not compile on SPOCK/autofs/nccs-svm1_home1/szampini/Devel-spock/petsc/src/vec/is/sf/impls/basic/hip/sfhip.hip.cpp:140:107: error: no viable overloaded '+='
SFHIP: PETSC_HAVE_COMPLEX codepath does not compile on SPOCK/autofs/nccs-svm1_home1/szampini/Devel-spock/petsc/src/vec/is/sf/impls/basic/hip/sfhip.hip.cpp:140:107: error: no viable overloaded '+='template<typename Type> struct Add {__device__ Type operator() (Type& x,Type y) const {Type old = x; x += y; return old;}}; ~ ^ ~/autofs/nccs-svm1_home1/szampini/Devel-spock/petsc/src/vec/is/sf/impls/basic/hip/sfhip.hip.cpp:69:27: note: in instantiation of member function 'Add<std::complex<double>>::operator()' requested here for (i=0; i<MBS; i++) op(data[t+i],buf[s+i]);
Remove all double blank lines from sourceCommit-type: petsc-style/2h
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
Fix compile warnings
Add SF NVSHMEM support
SF: rename SFCreateEmbeddedSF to SFCreateEmbeddedRootSF
SF: add an MPI_Op argument to SFBcast
Replace MPIU_REPLACE with MPI_REPLACESince we believe all MPI implementations support MPI_REPLACE
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
CHKERRQ() -> CHKERRMPI()
Fix bugs when doing device to host communication
Fixes for the HIP backend to PetscSFThanks to @jedbrown for catching errors and motivating more testingSorting out ifdef/if logicThe logic with HIP and CUDA together is a little complicated.Ad
Fixes for the HIP backend to PetscSFThanks to @jedbrown for catching errors and motivating more testingSorting out ifdef/if logicThe logic with HIP and CUDA together is a little complicated.Adding and improving petscSF tests for hip backendImportant to add `diff_args: -j` to some tests
PetscSF: need to initialize backends to access malloc functionality
PetscSF: the MultiSF of a MultiSF is itselfKnowing this allows to skip some expensive optimization in PetscSFSetUpPackFieldsThere may be other places where the knowledge of being a MultiSF can be
PetscSF: the MultiSF of a MultiSF is itselfKnowing this allows to skip some expensive optimization in PetscSFSetUpPackFieldsThere may be other places where the knowledge of being a MultiSF can be exploited
1234567891011