[petsc-users] MatMult inside a for loop

Jed Brown jed at jedbrown.org
Sun Feb 8 19:39:05 CST 2015


Matthew Knepley <knepley at gmail.com> writes:

> On Sun, Feb 8, 2015 at 7:20 PM, Ronal Celaya <ronalcelayavzla at gmail.com>
> wrote:
>
>> I know that. I want to have all the vector x replicated in all processes
>> and update it in each iteration, so I don't need to communicate the vector
>> x each time MatMult() is called.
>> I'm not sure I'm making myself clear, sorry
>>
>
> 1) This is not a scalable strategy.

Also note that you have to communicate many layers of overlap of A to
run CG without neighbor communication.  The overhead is especially large
if you have small subdomains (the case where communication latency is
more important than bandwidth).

> 2) If you know A and all the updates to x locally, why don't you just
> compute y directly?
-------------- 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-users/attachments/20150208/498c73e8/attachment.pgp>


More information about the petsc-users mailing list