[petsc-dev] new P^1.5 algorithm in VecAssembleBegin?

Mark Adams mfadams at lbl.gov
Fri May 29 09:58:56 CDT 2015


Thanks, this code does not have any communication in VecAssembly so I added
the INGNORE stuff and added a barrier before this section of code.  I am
suspecting that VecAssembly is catching load imbalance but not reporting it
for some reason.

On Fri, May 29, 2015 at 10:54 AM, Jed Brown <jed at jedbrown.org> wrote:

> Mark Adams <mfadams at lbl.gov> writes:
>
> > I am suspecting that it is catching load imbalance and just not reporting
> > it correctly. I've added a barrier in the code.
> >
> > Here are the two log files.
>
> Mark, there has always been a worst-case O(n*p) algorithm in
> VecStashScatterBegin_Private:
>
>   for (i=0; i<stash->n; i++) {
>     /* if indices are NOT locally sorted, need to start search at the
> beginning */
>     if (lastidx > (idx = stash->idx[i])) j = 0;
>     lastidx = idx;
>     for (; j<size; j++) {
>       if (idx >= owners[j] && idx < owners[j+1]) {
>         nprocs[2*j]++; nprocs[2*j+1] = 1; owner[i] = j; break;
>       }
>     }
>   }
>
> The branch jed/mat-assembly-perf has a scalable implementation.  Can you
> try it (either in that branch or in 'next')?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150529/13e7cd15/attachment.html>


More information about the petsc-dev mailing list