PetscSF: implement PetscSFCreateStridedSF
Fix "Extra spaces in test harness rules" in checkbadSource
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptio
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptionsGetViewer(). In the previous code PetscObjectReference() anddereference (via PetscViewerDestroy() where called on the viewer by multiple threads after the viewerwas accessed thus corrupting the object.This branch introduces a PetscOptionsRestoreViewer() that allows not doing the referencing and dereferencingon persistant viewers, thus removing the specific race condition above.Other possible solutions includeUse a lock on each PetscObjectReference/Dereference() just in case they are shared. Could be time consuming so onecould mark each object as either threadshared or independent and only do the locks on threadshared objects. This lowersthe cost but would require more extensive changes to PETSc infrastructure. And I do not know if this shared/not shared modelis what we need in the long run, though it might be.
show more ...
PetscSF: add MPI-4.0 persistent neighborhood collectives support
Remove first and last empty lines
SF: add tests to test PetscSFFetchAndOp and integer data on device
Add convenience functions VecCreateFromOptions() and MatCreateFromOptions() to reduce the use of specialize creation routines in the examples and thus make it easier for people to use GPU based solve
Add convenience functions VecCreateFromOptions() and MatCreateFromOptions() to reduce the use of specialize creation routines in the examples and thus make it easier for people to use GPU based solvers
Profiling: Improve !defined(PETSC_USE_LOG) #defines- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:```c #if def
Profiling: Improve !defined(PETSC_USE_LOG) #defines- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:```c #if defined(PETSC_USE_LOG) PetscLogEvent event; #endif```- Having global counters like petsc_TotalFlops externed event if !PetscDefined(USE_LOG) helps to remove a lot of needless `#ifdef`s around code that can instead be placed in `if (PetscDefined(USE_LOG)) {}` blocks.
Kokkos: fix a bug that we did not init PetscKokkosExecutionSpacePtr when kokkos is init'ed by usersReported-by: "Fackler, Philip" <facklerpw@ornl.gov>
Fix PetscCallMPI(MPI_Allreduce()) with PETSc types
PetscSF: add experimental support for MPICH MPIX_Stream
Remove need for seperate lib/petsc/conf/test file by merging with rules fileCommit-type: maintainability
Merge branch 'jolivet/housekeeping' into 'main'Some more housekeepingSee merge request petsc/petsc!6130
Merge branch 'barry/2023-02-22/rm-locdir' into 'main'Remove need for hardwired LOCDIR in all makefilesSee merge request petsc/petsc!6113
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Docs: small fixes and typos
Double spaces, wrong backticks, or unneeded braces
Make PetscErrorCode a non-discardable enum
Modernize and clean up petscsys.h- Deprecate PETSC_NULL.- Switch from preprocessor defines to anonymous enums for constant expressions.- Surround macro arguments in ().- Remove redundant casts.
Modernize and clean up petscsys.h- Deprecate PETSC_NULL.- Switch from preprocessor defines to anonymous enums for constant expressions.- Surround macro arguments in ().- Remove redundant casts.- Clean up overly complex preprocessor defines in various PetscMem*() functions.
PetscSFSetGraphFromCoordinates: construct graph from fuzzy matching of coordinates
vec/is/sf/tests/ex18.c: extend, test global,-view_sf,use pointer to ctx in main()
Merge remote-tracking branch 'origin/release'
A few more codespell fixes
Fix incorrect usage of VecCUDARestoreArray(). Arrays were either double-restored or restored using wrong API
PetscSF: optimize SFALLGATHERV for the one-to-all patternthis happens with ML models using data parallelism having replicated local parametersAdd test
12345