Description
The
gord
program is the block sparse matrix graph orderer. It uses an or-
dering strategy to compute block orderings of sparse matrices represented as
source graphs, whose vertex weights indicate the number of DOFs per node (if
this number is non homogeneous) and whose edges are unweighted, in order
to minimize fill-in and operation count.
Since its main purpose is to provide orderings that exhibit high concurrency
for parallel block factorization, it comprises a nested dissection method [17],
but classical [39] and state-of-the-art [1, 47] minimum degree algorithms are
implemented as well. Ordering methods are used to define ordering strategies
by means of selection, grouping, and condition operators.
For the nested dissection method, vertex separation methods comprise algo-
rithms that directly compute vertex separators, as well as methods that build
vertex separators from edge separators,
i.e.
graph bipartitions (all of the graph
bipartitioning methods available in the static mapper
gmap
can be used in this
latter case).
The
-o
option allows the user to define the ordering strategy. The
-c
option
allows the user to set preferences on the behavior of the ordering strategy
which is used by default.
When the graphs to order are very large, the same results can be obtained by
using the
dgord
parallel program of the
PT-Scotch
distribution, which can
read centralized graph files too.
Options
Since the program is devoted to experimental studies, it has many optional
parameters, used to test various execution modes. Values set by default will
give best results in most cases.
-c
flags
Tune the default ordering strategy according to the given preference flags.
Some of these flags are antagonistic, while others can be combined. See
Section 7.3.1 for more information. The resulting strategy string can be
displayed by means of the
-vs
option.
b
Enforce load balance as much as possible.
q
Privilege quality over speed. This is the default behavior.
s
Privilege speed over quality.
t
Use only safe methods in the strategy.
-h
Display the program synopsis.
-m
output mapping file
Write to
output mapping file
the mapping of graph vertices to column
blocks. All of the separators and leaves produced by the nested dissection
method are considered as distinct column blocks, which may be in turn
split by the ordering methods that are applied to them. Distinct integer
numbers are associated with each of the column blocks, such that the
number of a block is always greater than the ones of its predecessors in
the elimination process, that is, its descendants in the elimination tree.
The structure of mapping files is given in section 5.5.
38