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

Jed Brown jed at jedbrown.org
Fri May 29 14:29:35 CDT 2015


Barry Smith <bsmith at mcs.anl.gov> writes:

>   I cannot explain why the load balance would be 1.0 unless, by
>   unlikely coincidence on the 248 different calls to the function
>   different processes are the ones waiting so that the sum of the
>   waits on different processes matches over the 248 calls. Possible
>   but

Uh, it's the same reason VecNorm often shows significant load imbalance.

>> I've added a barrier in the code.
>
>    You don't need a barrier.  If you do not have a barrier you should
>    see all the "wait time" now accumulate somewhere later in the code
>    at the next reduction after the VecAssemblyBegin/End.

Presumably he added a barrier *before* calling the function.  The
function does a small amount of work (basically none because he has no
off-process entries) and synchronizes (PetscMaxSum).  If there was load
imbalance before calling VecAssemblyBegin, the timer would start at
different times on each process, but end at about the same time.
-------------- 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/b659dda5/attachment.sig>


More information about the petsc-dev mailing list