

Every structure should divide the information that they store across processors, in order to do this two main approach are considered inside OpenFPM.






* Model decomposition: (Steps)



* Model decomposition:



* Domain decomposition



* Generate graph model



* Find optimal decomposition



* Optimizing the decomposition



* Post process the decomposition






* Fixed decomposition



* Domain decomposition

...  ...  @@ 25,15 +25,16 @@ In a distributedmemory setting, where data are scattered across 


processors, two factors are important: equal division of work across



processors and reduction of the communication overhead.



A typical approach, is to formulate the problem as a



graphpartitioning problem: the physical domain is divided into subdomains



(vertices of the graph), each of them carrying a weight modeling the computational cost.



graphpartitioning problem: the physical domain is divided into subdomains (_Domain decomposition_)



(vertices of the graph), each of them carrying a weight modelling the computational cost.



The communication pattern between subdomains is represented as links



between the subdomains (edges of the graph) with weights formalizing



the communication cost. The requirement of balanced computation with



the communication cost (_Generate graph model_). The requirement of balanced computation with



minimal communication then translates to the optimization problem of



finding a graph partitioning where each group contains the same sum of



weights, and the sum of the cut edges is minimal. Even if a model decomposition



it is not bind to a graph model it is true that until now is the main approach



weights, and the sum of the cut edges is minimal (_Find optimal decomposition_). As final step



the decomposition can be postprocess further more to be for optimal, based on factors not considered by the optimization process, like merging vertex to create bigger subdomains.



Even if a model decomposition it is not bind to a graph model it is true that until now is the main approach






* CartDecomposition




...  ...  