<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 16, 2012, at 8:46 AM, Matthew Knepley wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Thu, Feb 16, 2012 at 7:43 AM, Gerard Gorman <span dir="ltr"><<a href="mailto:g.gorman@imperial.ac.uk">g.gorman@imperial.ac.uk</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">
Matthew Knepley emailed the following on 16/02/12 13:29:<br>
> On Thu, Feb 16, 2012 at 3:38 AM, Mohammad Mirzadeh <<a href="mailto:mirzadeh@gmail.com">mirzadeh@gmail.com</a><br>
> <mailto:<a href="mailto:mirzadeh@gmail.com">mirzadeh@gmail.com</a>>> wrote:<br>
><br>
> Hi guys,<br>
><br>
> I'm wondering if there is any implementation<br>
> for ParMETIS_V3_PartGeomKway()? All I can find is the<br>
> implementation for ParMETIS_V3_PartKway and I'm wondering if<br>
> including the vertex positions could help me get a better<br>
> partitioning?<br>
><br>
><br>
> As far as communication goes, it will not help.<br>
><br>
><br>
> Also I have a general question. Is minimizing number of edge cuts<br>
> essentially the same as minimizing communication? I understand<br>
> that they are related, but communication is proportional to the<br>
> number of ghost points which is not exactly equal (its actually<br>
> less than) to the number of edge cuts. So then is it possible that<br>
> this could actually result in larger number of ghost points, at<br>
> least for some of processors?<br>
><br>
><br>
> It of course depends on your problem and the graph you draw, but you<br>
> can always draw a graph<br>
> where the edge cut is exactly your communication.<br>
><br>
><br>
<br>
<br>
It might also be interesting to look at Zoltan's hypergraph partitioning<br>
which can better balance communications -<br>
<a href="http://www.cs.sandia.gov/zoltan/dev_html/dev_phg.html" target="_blank">http://www.cs.sandia.gov/zoltan/dev_html/dev_phg.html</a></blockquote><div><br></div><div>I would caution you that one thing people are rarely careful about is quantifying the effect of</div>
<div>latency vs communication volume. I would bet you $10 that the lion's share of slow down is</div><div>due to load imbalance/latency rather than communication volume (since comm links are so</div><div>big).</div><div>
<br></div></div></blockquote><div><br></div><div>Just to add, edge cuts are a good proxy for communication volume on PDE graphs, IMO, but they are not the same and I applaud Zoltan for optimizing this directly. Both edge cuts and #ghosts are decent metrics to indirectly minimize number of partition neighbors (latency). As Matt says this is probably what you want to minimize, assuming good load balance. </div><div><br></div><div>Furthermore you don't really want to minimize any of these. What you want to minimize is the maximum cuts/neighbors/load of an any partition -- that is load balance (max/optimal).</div><div><br></div><div>Mark</div><br><blockquote type="cite"><div class="gmail_quote"><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Cheers<br>
<span class="HOEnZb"><font color="#888888">Gerard<br>
<br>
</font></span></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>
</blockquote></div><br></body></html>