<div class="gmail_quote">On Fri, Oct 21, 2011 at 16:14, Dominik Szczerba <span dir="ltr">&lt;<a href="mailto:dominik@itis.ethz.ch">dominik@itis.ethz.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":29o">Hmm, I just want to partition my mesh that I read in serial. So<br>
adjacency vectors are only on root. How can I provide distributed<br>
adjacency information, before partitioning? This is an endless circle.<br>
Or do you mean I should just broadcast my adjacency vectors ia,ja to<br>
all the other processes?<br></div></blockquote><div><br></div><div>The usual thing is to distribute the mesh naively to begin with, then partition and move the mesh to the correct place with respect to the new partition. It is possible that the case you describe works reliably, in which case the guard was to blunt. The crashes I&#39;m familiar with occur when there are very few nodes such that some processors don&#39;t get any. You can open up pmetis.c and remove the guard entirely or write a better guard.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":29o">
<div class="im"><br>
&gt; The best fix is to have the bug/limitation fixed upstream, but barring that,<br>
&gt; we should build a subcommunicator of suitable size, migrate the graph to<br>
&gt; that subcomm, call ParMetis from there, and migrate the new partition back<br>
&gt; to the original comm.<br>
<br>
</div>Are you suggesting to use other communicator than PETSC_COMM_WORLD in<br>
the code I cited?<br>
How would I go about creating a subcommunicator &quot;of suitable size&quot;.<br>
And what do you mean by &quot;migrate&quot;?</div></blockquote></div><br><div>This is really intended for the other case where the graph is really small compared to the node count. (This can happen on coarse levels of multigrid.)</div>