| 36836356 | 09-Sep-2015 |
Jed Brown <jed@jedbrown.org> |
Merge branch 'jed/mat-assembly-perf' of bitbucket:petsc/petsc
VecAssembly and MatAssembly now use a scalable exchange pattern based on PetscCommBuildTwoSided. This feature can be controlled with th
Merge branch 'jed/mat-assembly-perf' of bitbucket:petsc/petsc
VecAssembly and MatAssembly now use a scalable exchange pattern based on PetscCommBuildTwoSided. This feature can be controlled with the options
-vec_assembly_bts 0 or 1 (default 0) -matstash_bts 0 or 1 (default 0)
The rationale is that the new implementation with scalable data structures can be slightly slower than the old version at small process counts. The default here could be changed to depend on the process count (leading to possibly-confusing scaling performance diagnostics) or the implementation could learn to take a fast path.
* 'jed/mat-assembly-perf' of bitbucket:petsc/petsc: (49 commits) MatStash: fix -Wsign-compare by using size_t for loop index when max is also size_t Sys BuildTwoSided test: fix for non-POD std::complex MatStash: cast to satisfy non-structural MPI type tag check mpiuni: fix compile error /sandbox/petsc/petsc.clone-2/arch-linux-uni/lib/libpetsc.so: undefined reference to `MPI_Type_create_resized' Vec: Silence compiler warning Vec: fix typo in comment Sys: fix C89 compiler warning VecStash BTS: fix block stash InsertMode accounting VecStash BTS: fix indexing bug counting sends to rank 0 MatStash BTS: fix memory leak on MAT_SUBSET_OFF_PROC_ENTRIES VecAssemblyEnd_MPI_BTS: fix donotstash code path VecAssemblyEnd_MPI_BTS: fix C++ conversion to InsertMode Sys: fix datatypes test using MPI_Type_create_resized MatStash BTS: work around lack of offsetof() for non-POD (std::complex) MatAssembly: move check for InsertMode consistency into MatStashScatter impls MatStash BTS: fix memory leak on reassembly with MAT_SUBSET_OFF_PROC_ENTRIES MatStash BTS: small simplification to row ownership calculation MatStash BTS: add MAT_SUBSET_OFF_PROC_ENTRIES, impl with neighbor-only comm MatStash: initial BTS (BuildTwoSided) implementation MatStash: add extension point for new BTS implementation ...
show more ...
|