<div dir="ltr"><div dir="ltr">On Mon, Jan 25, 2021 at 4:40 AM Roland Richter <<a href="mailto:roland.richter@ntnu.no">roland.richter@ntnu.no</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hei,<br>
<br>
is there a way to gather a distributed dense matrix only on rank 0, not<br>
on the other ranks? My matrix processing/storage routines in my program<br>
currently are single-threaded and only operate on rank 0, and therefore<br>
I assume that I can ignore all other ranks. This should also save a bit<br>
time, I hope (MatCreateRedundantMatrix is currently the by far most<br>
expensive part of my program).<br>
<br>
When executing MatCreateRedundantMatrix(A, size, MPI_COMM_NULL,<br>
MAT_INITIAL_MATRIX, &B), usually all ranks get the full matrices,<br>
something I would like to avoid. Therefore, is there another way of<br>
handling this?<br></blockquote><div><br></div><div>I am skeptical that it will save time, but you can do what you want using</div><div><br></div><div>  <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateSubMatrices.html">https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateSubMatrices.html</a></div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks!<br>
<br>
Regards,<br>
<br>
Roland Richter<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>