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

Jed Brown jed at jedbrown.org
Fri May 29 09:54:45 CDT 2015


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 --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150529/86f7732c/attachment.sig>


More information about the petsc-dev mailing list