[petsc-users] Vec operations load/stores

Matthew Knepley knepley at gmail.com
Tue May 19 16:43:14 CDT 2015


On Tue, May 19, 2015 at 4:30 PM, Justin Chang <jychang48 at gmail.com> wrote:

> Hi everyone,
>
> To somewhat follow up on a previous mail, I have a few questions regarding
> the total bytes transferred for the following Vec operations (assuming Vec
> size N and sequential mode):
>
> VecTDot()
> VecDot()
> VecNorm()
> VecScale()
> VecSet()
> VecAXPY()
> VecAYPX()
> VecWAXPY
> VecPointwiseMult()
>
> 1) for the first three operations, I am loading two vectors so that's
> 2*N*8 bytes transferred. For storing, am I simply storing one scalar? Or am
> I individually storing all N components as they are being summed up?
>

First 2 operations. No need to count the store of 1 scalar.


> 2) for the next five operations where I now have a scalar, am I loading it
> only once or is it loaded N times?
>

Once, so don't bother counting.


> 3) Do any of the above operations "overlap" or depend on one another? For
> instance if my solver invokes VecTDot X times does it also
> invoke, say, VecPointwiseMult X times?
>

No.

  Thanks,

    Matt


> This is all theoretically speaking (i.e., assuming I am bypassing the
> cache and write-allocate policy).
>
> Thanks,
> Justin
>
>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150519/838e51c7/attachment.html>


More information about the petsc-users mailing list