@@ -12,25 +12,30 @@ cells, edges and vertices so that a time step can largely be completed
1212without the need to communicate.
1313
1414The partitioning itself is performed using the
15- [ METIS] ( http://glaros.dtc.umn.edu/gkhome/metis/metis/overview ) library that
16- can partition unstructured domains in a way that also optimizes communication.
17- More details on the mesh, connectivity and partitioning can be found in
18- the [ Developer's Guide] ( #omega-dev-decomp ) .
15+ [ METIS/ParMETIS ] ( http://glaros.dtc.umn.edu/gkhome/metis/metis/overview )
16+ libraries that can partition unstructured domains in a way that also optimizes
17+ communication. More details on the mesh, connectivity and partitioning can be
18+ found in the [ Developer's Guide] ( #omega-dev-decomp ) .
1919
20- There are three parameters that are set by the user in the input configuration
20+ There are two parameters that are set by the user in the input configuration
2121file. These are:
2222``` yaml
2323Decomp :
2424 HaloWidth : 3
25- MeshFileName : OmegaMesh.nc
2625 DecompMethod : MetisKWay
2726` ` `
28- (until the config module is complete, these are currently hardwired to
29- the defaults above). The HaloWidth is set to be able to compute all of the
30- baroclinic terms in a timestep without communication and for higher-order
31- tracer advection terms, this currently must be at least 3. The MeshFileName
32- should include the complete path and filename to a standard Omega mesh file
33- that contains at a minimum
27+ The HaloWidth is set to be able to compute all of the baroclinic terms in a
28+ timestep without communication and for higher-order tracer advection terms,
29+ this currently must be at least 3.
30+
31+ METIS and ParMETIS support a number of partitioning schemes, but the MetisKWay
32+ and its parallel equivalent ParMetisKWay are the only currently supported
33+ decomposition methods for Omega. The serial form (MetisKWay) is typically
34+ faster for small meshes and decompositions. The ParMetisKWay option is a
35+ parallel form that is faster and requires less memory than the serial option.
36+ Note that the two methods will not result in the same partition.
37+
38+ An input mesh file must be provided that contains at a minimum
3439 - the total number of cells, edges and vertices (NCells, NEdges, NVertices)
3540 - the mesh connectivity contained in the arrays CellsOnCell, EdgesOnCell
3641 VerticesOnCell, CellsOnEdge, EdgesOnEdge, CellsOnVertex, EdgesOnVertex.
@@ -40,12 +45,8 @@ The mesh information is read via parallel IO into an initial linear domain
4045decomposition and then is partitioned by METIS and rearranged into the
4146final METIS parallel decomposition.
4247
43- METIS and ParMETIS support a number of partitioning schemes, but MetisKWay
44- is currently the only supported decomposition method for Omega and is
45- generally the better option.
46-
4748Once the mesh is decomposed, all of the mesh index arrays are stored in
4849a Decomp named Default which can be retrieved as described in the
4950Developer guide. In the future, additional decompositions associated
50- with processor subsets (as described in MachEnv) but this capability is
51- not yet supported.
51+ with processor subsets (as described in MachEnv) should be possible, but
52+ this capability is not yet supported.
0 commit comments