partitioner of yaspgrid sometimes yields unsuitable processor distribution on the torus.
The YLoadBalanceDefault
partitioner tries different partitions and assigns costs to each possible configuration. It then chooses the best configuration, based on the costs.
The problem now is, that in some situations the partitioner finds setups which are not possible, due to the size of the coarse grid, e.g. a grid of size 1 \times 100
can not be distributed on a torus of size 2 \times 4
.
Problems currently:
- the partitioner sometimes accepts impossible configurations. This can easily be fixed by slightly modifying the current algorithm.
- even a possible partition might be unsuitable for parallel computations, as the left & right overlap regions intersect. This would require additional communication between left & right neighbor. To avoid this @dominic added a paranoia check, but actually it would be better to immediately reject this proposed setup and search for a better solution. A proper fix requires interface changes, as the partitioner currently doesn't know the overlap.
Edited by Christian Engwer