Skip to content

Initial partition with memory weighted edges

Peter W. Draper requested to merge partition-memory-edges into master

Introduces a new initial partition technique and makes it the default. The new technique edgememory is like the previous memory one except we also add some weight to the graph edges so that the cuts between ranks are guided away from splitting dense regions unnecessarily. Tests show this is slightly better than the previous technique in getting a good balance (order of few percent).

This request also includes the clipping of gravity particle weights to avoid problems with dense cells being more efficiently processed than less dense ones, so these are given overweight (we assume memory use per cell correlates with the work, that is not true).

We also have a tweak to how we work out when the sum of weights is greater than the highest value of type idx_t (very important when idx_t is a 32bit int), seems we need a little more overhead to avoid overflow some where in the depths of METIS (1000 -> 10000).

Finally the dumpCells debugging function is extended to include a sum of the task times associated with the cell.

See #640 (closed) for some motivation.

Edited by Peter W. Draper

Merge request reports