Scroll to navigation

dgmap(1) PT-Scotch user's manual dgmap(1)


dgmap, dgpart - compute static mappings and partitions in parallel


dgmap [options] [gfile] [tfile] [mfile] [lfile]
dgpart [options] [nparts] [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 shortcut of dgmap for computing partitions of a source graph.

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.


Choose default mapping strategy according to one or several options among:
enforce load balance as much as possible.
privilege quality over speed (default).
privilege speed over quality.
enforce safety.
enforce scalability.
Display some help.
Use parallel mapping strategy strat (see PT-Scotch user's manual for more information).
Set root process for centralized files (default is 0).
Display program version and copyright.
Set verbose mode to verb. It is a set of one of more characters which can be:
mapping information.
strategy information.
timing information.


At the time being (version 5.1.0), 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

$ mpirun -np 5 dgpart 7 brol.grf
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 (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


dgtst(1), dgscat(1), amk_grf(1), acpl(1), gmap(1), gmtst(1).

PT-Scotch user's manual.


Francois Pellegrini <>

August 3, 2010