| 76f543a4 | 11-Feb-2015 |
Jed Brown <jed@jedbrown.org> |
Merge branch 'jed/assembly-perf' into jed/mat-assembly-perf
Improve VecAssembly performance using BuildTwoSided
* jed/assembly-perf: (27 commits) Vec: document when InsertMode cannot change betwe
Merge branch 'jed/assembly-perf' into jed/mat-assembly-perf
Improve VecAssembly performance using BuildTwoSided
* jed/assembly-perf: (27 commits) Vec: document when InsertMode cannot change between reassemblies VecAssembly BTS: allow reassembly with proper subsets of comm BuildTwoSided: distinguish events BuildTwoSided vs BuildTwoSidedF MPI: check for MPIX_Ibarrier (e.g., BG/Q) VecAssembly BTS: enable by default, use -vec_assembly_bts 0 to disable VecAssembly BTS: allow proper subsets with VEC_SUBSET_OFF_PROC_ENTRIES VecAssembly BTS: VEC_SUBSET_OFF_PROC_ENTRIES elides global synchronization VecAssembly BTS: elide sending empty scalar/block stashes VecAssembly BTS: separate pending count for scalar and block stashes VecAssembly BTS: use PetscCommBuildTwoSidedFReq and MPI_Waitsome VecAssembly BTS: avoid copying data on receive by using pointer frames Sys BuildTwoSidedFReq: generalization to return requests VecAssembly: add more scalable implementation, -vec_assembly_bts Vec_MPI: remove unused members conflated with VecStash Sys: add PetscMergeMPIIntArray Sys PetscMergeIntArrayPair: fix PetscFunctionBegin and comment Sys BuildTwoSidedF_Ibarrier: less synchronous dynamic sparse data exchange Sys BuildTwoSidedF: build two-sided network with functions in rendezvous Sys BuildTwoSided test: extract datatype construction Sys BuildTwoSided: update test for non-contiguous types and verbose output ...
show more ...
|