## Section: Software

Keywords : graph partitioning, mesh partitioning, static mapping, sparse matrix block ordering, parallel sparse matrix block ordering.

`Scotch`

Participants : Cédric Chevalier, François Pellegrini [ corresponding member ] .

The initial purpose of `Scotch` was to provide an efficient software
environment for partitioning and mapping statically applications
modeled as valuated process graphs of arbitrary topologies. The original
contribution consisted in developing a ``*divide and conquer* ''
algorithm in which processes are recursively mapped onto processors by
using graph bisection algorithms that are applied both to the process
graph and to the architecture graph. This allows the mapper to take into
account the topology and hetorogeneity of the valuated graph which
models the interconnection network and its resources (processor speed,
link bandwidth). This technique allowed to compute high quality
mappings with low complexity.

The software has then be extended in order to produce vertex separators instead of edge separators, using a multi-level framework. Recursive vertex separation is used to compute reorderings of the unknowns of large sparse linear systems, which both preserve sparsity when factoring the matrix and preserve concurrency for computing and solving the factored matrix in parallel. The original contribution has been to study and implement a tight coupling between the nested dissection and the approximate minimum degree methods; this work was carried out in collaboration with Patrick Amestoy, of ENSEEIHT-IRIT.

Two years ago, new classes of methods have been added to the
`Scotch` library, which allow it to compute efficient orderings
of native meshes, resulting in the handling of larger problems
than with standard graph partitioners. Meshes are represented
as bipartite graphs, in which node vertices are connected to
element vertices only, and vice versa. Since this structure is
equivalent to an hypergraph, where nodes are connected to hyperedges
only, and vice versa, the mesh partitioning routines of `Scotch` turn
it into a hypergraph partitioner.

Version 4.0 of the `Scotch` software package
(http://www.labri.fr/~pelegrin/scotch/ ) has been formally released
in February 2006 on InriaGForge, as a LGPLed libre software, in order
to encourage members of the community to use it as a testbed for the quick
and easy development of new partitioning and ordering methods. As of
December 1 , 2006, it has already been downloaded more than
1200 times.
`Scotch` can be called from `MUMPS` , `PaStiX` and `HIPS` as an external ordering
library. It is also part of the latest release of
Code_ Aster , a GPLed thermal and mechanical
analysis software developed by French state-owned electricity
producer EDF.

Release 5.0 of `Scotch` , which will include the parallel ordering
routines of the PT-Scotch library, is planned for the early days of
2007. It will extend the capabilities of `Scotch` in parallel,
allowing users to compute in parallel orderings of distributed
graphs. PT-Scotch is based on the MPI and Posix Pthread libraries.