This is the command dgmap that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
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
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 options 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
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', on input only).
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.
-bval 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.
-copt Choose default mapping strategy according to one or several options 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.
Use parallel mapping strategy strat (see PT-Scotch user's manual for more
-q (for dgpart)
(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.
-rpnum Set root process for centralized files (default is 0).
-V Display program version and copyright.
-vverb Set verbose mode to verb. It is a set of one of more characters which can
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
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
Use dgmap online using onworks.net services