dgmap, dgpart - compute static mappings and partitions in parallel
dgmap [options] [gfile] [tfile] [mfile] [lfile]
dgpart [options] [nparts/pwght] [gfile] [mfile] [lfile]
The
dgmap program computes, in a parallel way, a static mapping of a
source graph onto a target graph.
The
dgpart program is a simplified interface to
dgmap, which
performs graph partitioning instead of static mapping. Consequently, the
desired number of parts has to be provided, in lieu of the target
architecture. When using the program for graph clustering, the number of parts
turns into maximum cluster weight.
The
-b and
-c option?s allow the user to set preferences on the
behavior of the mapping strategy which is used by default. The
-m
option allows the user to define a custom mapping strategy.
The
-q option turns the programs into graph clustering programs. In this
case,
dgmap only accepts variable-sized target architectures.
Source graph file
gfile is either a centralized graph file, or a set of
files representing fragments of a distributed graph. For
dgmap, the
target architecture file
tfile describes either algorithmically-coded
topologies such as meshes and hypercubes, or decomposition-defined
architectures created by means of the
amk_grf(1) program. See
gmap(1) for a description of target architectures. The resulting
mapping is stored in file
mfile. Eventual logging information (such as
the one produced by option
-v) is sent to file
lfile. When file
names are not specified, data is read from standard input and written to
standard output. Standard streams can also be explicitely represented by a
dash '-'.
When the proper libraries have been included at compile time,
dgmap and
dgpart can directly handle compressed graphs, both as input and output.
A stream is treated as compressed whenever its name is postfixed with a
compressed file extension, such as in 'brol.grf.bz2' or '-.gz'. The
compression formats which can be supported are the bzip2 format ('.bz2'), the
gzip format ('.gz'), and the lzma format ('.lzma').
dgmap and
dgpart base on implementations of the MPI interface to
spread work across the processing elements. They are therefore not likely to
be run directly, but instead through some launcher command such as
mpirun.
- -b?val
- Set maximum load imbalance ratio for graph partitioning or
static mapping. When programs are used as clustering tools, this parameter
sets the maximum load imbalance ratio for recursive bipartitions.
Exclusive with the -m option.
- -c?opt
- Choose default mapping strategy according to one or several
option?s among:
- b
- enforce load balance as much as possible.
- q
- privilege quality over speed (default).
- s
- privilege speed over quality.
- t
- enforce safety.
- x
- enforce scalability.
It is exclusive with the
-m option.
- -h
- Display some help.
- -m?strat
- Use parallel mapping strategy strat (see PT-Scotch
user's manual for more information).
- -q
- (for dgpart)
- -q?pwght
- (for dgmap) Use the programs as graph clustering
tools instead of static mapping or graph partitioning tools. For
dgpart, the number of parts will become the maximum cluster weight.
For dgmap, this number pwght has to be passed after the
option.
- -r?pnum
- Set root process for centralized files (default is 0).
- -V
- Display program version and copyright.
- -v?verb
- Set verbose mode to verb. It is a set of one of more
characters which can be:
- m
- mapping information.
- s
- strategy information.
- t
- timing information.
At the time being (version 5.1),
dgmap cannot compute full static
mappings as
gmap(1) does, but only partitions (that is, mappings onto
unweighted or weighted complete graphs). Target architectures other than the
'cmplt' and 'wcmplt' ones will lead to an error message.
Run
dgpart on 5 processing elements to compute a partition into 7 parts
of graph brol.grf and save the resulting ordering to file brol.map.
$ mpirun -np 5 dgpart 7 brol.grf brol.map
Run
dgpart on 5 processing elements to partition into 7 parts the
distributed graph stored on graph fragment files brol5-0.dgr to brol5-4.dgr,
and save the resulting mapping to file brol.map (see
dgscat(1) for an
explanation of the '%p' and '%r' sequences in names of distributed graph
fragments).
$ mpirun -np 5 dgpart 7 brol%p-%r.dgr brol.map
dgtst(1),
dgscat(1),
amk_grf(1),
acpl(1),
gmap(1),
gmtst(1).
PT-Scotch user's manual.
Francois Pellegrini <
[email protected]>