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?
>

Reply via email to