On Fri, May 29, 2015 at 11:32 AM, Jed Brown <[email protected]> wrote:
> Mark Adams <[email protected]> writes: > > > I don't need your branch because 1) we are not doing any communication in > > this VecAssembly > > There is still synchronization cost in determining that nothing needs to > be done. I added: VecSetOption(m_xx,VEC_IGNORE_OFF_PROC_ENTRIES,PETSC_TRUE); Doesn't this remove the synchronization? > Moreover, using a size P MPI_Allreduce for that (in > PetscMaxSum) is non-scalable. My branch uses MPI_Reduce_scatter_block > (scalable) when available (MPI-2.2). > > > and I added the IGNORE stuff > > So it takes no time now and everything is groovy? >
