[petsc-dev] Implementing longer pipelines with VecDotBegin and VecDotEnd

Jed Brown jedbrown at mcs.anl.gov
Thu Mar 23 23:23:21 CDT 2017


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

>    Jed,
>
>       Ok I buy what you are saying as a possible solution but now I am
>       wondering why you need the request argument. Instead, as soon as
>       you hit the first End or PetscCommSplitReductionBegin why don't
>       you start a new batch (internally) that all new Begin() calls
>       feed into? Then each End call just checks through the previous
>       (still incompleted) batches to find its begin partner

How is the "begin partner" identified?

>       (or we can require always first in, first out). Thus your first
>       VecNormEnd(Y, would match the first begin with Y posted and your
>       second would match the second.

VecNormBegin(X,&norm);
function(X);
VecNormEnd(X,&norm);

would be broken if function() uses split reductions.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170323/ce2cc203/attachment.sig>


More information about the petsc-dev mailing list