At present, lip supports a coordinate-based partitioner using Hilbert's curve to determine what part of data should reside on the same node. The library supports both in- and out-of-core versions of the partitioner. Fig. shows pseudocode that uses the partitioner.
The most significant difference between Fig. and Fig. is the use of the LIP_create_hilbert_distribution_in_core() routine. This function activates an in-core partitioner. The routine results in creation of a special object called Datamap that stores information about the new distribution. Additionally, a schedule object is created which is used by the communication function LIP_Gather to actually redistribute data.
Next: The Case of OOC
Up: The Case of In-core
Previous: Support for irregular problems
  Contents
Created by Katarzyna Zając