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).
dumpCells debugging function is extended to include a sum of the
task times associated with the cell.
See #640 (closed) for some motivation.