On Mon, Aug 29, 2011 at 8:51 PM, Likun Tan <span dir="ltr"><<a href="mailto:likunt@andrew.cmu.edu">likunt@andrew.cmu.edu</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Instead of solving Ax=b with different right-hand-side sequentially, we<br>
can also form a sparse block diagonal matrix A and a vector b composed of<br>
all the elements. Then we can set values to each section of b concurrently<br>
and solve the enlarged system in parallel, is this an efficient way?<br>
<br>
And also, I found MatCreateMPIBDiag() is used to define a sparse block<br>
diagonal matrix, in my case, each block has the same format and elements,<br>
how could i set values efficiently?<br></blockquote><div><br></div><div>There is no reason to introduce synchronization across these problems. Just</div><div>split the communicator, put a KSP in each subcommunicator, and solve.</div>
<div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Thanks,<br>
Likun<br>
<br>
<br>
On Mon, August 29, 2011 11:14 am, Jed Brown wrote:<br>
> On Mon, Aug 29, 2011 at 10:08, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
><br>
><br>
>> As I said, no one knows<br>
>> how to do this for Krylov methods (and everyone has tried).<br>
>><br>
><br>
> There are methods and even simply running multiple independent Krylov<br>
> solves concurrently would be good for memory traffic (matrix entries get<br>
> reused for multiple vectors). The problem with block Krylov methods (that<br>
> try to share information between multiple simultaneous solves) is loss of<br>
> orthogonality between the subspaces generated by each vector. And it's not<br>
> so much that there are no ways to detect and account for this, but<br>
> robustness is still a problem and making efficient software for it is more<br>
> tricky and AFAIK, has not been done.<br>
><br>
<br>
<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>