dgmap(1)
π dgmap β the PT-Scotch user's manual glow-up π
okay bestie, buckle up, because this is dgmap(1) (and its lil sibling dgpart), straight from the PT-Scotch user's manual, and I am obsessed with how much these two can do. π¦
β¨ NAME β¨
dgmap, dgpart β compute static mappings and partitions in parallel π
β¨ SYNOPSIS β¨
dgmap [options] [gfile] [tfile] [mfile] [lfile]
dgpart [options] [nparts/pwght] [gfile] [mfile] [lfile]
β¨ DESCRIPTION β¨
so, dgmap computes, in a parallel way, a static mapping of a source graph onto a target graph. that's the whole vibe. π
dgpart is basically the simplified-interface bestie of dgmap β it does graph partitioning instead of static mapping. which means: you have to hand it the desired number of parts, in lieu of the target architecture. and when you're using the program for graph clustering, that number of parts turns into the maximum cluster weight. cute, right? π
the -b and -c options let you set preferences on how the default mapping strategy behaves. the -m option lets you define a custom mapping strategy. your call, your rules. π
the -q option turns these programs into graph clustering programs. in that case, dgmap only accepts variable-sized target architectures. noted.
the 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 like meshes and hypercubes, or decomposition-defined architectures created with amk_grf(1). (peep gmap(1) for a description of target architectures β it's giving lore.) the resulting mapping gets stored in file mfile. and eventual logging info (like the stuff option -v produces) goes to file lfile. when file names aren't specified, data is read from standard input and written to standard output. standard streams can also be explicitly represented by a dash '-'. π
when the proper libraries were 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, like in 'brol.grf.bz2' or '-.gz'. the compression formats that 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. so realistically? they're not likely to be run directly β you run them through some launcher command like mpirun. main character energy, but make it cluster. π
β¨ OPTIONS β¨
-bvalβ set the maximum load imbalance ratio for graph partitioning or static mapping. when the programs are used as clustering tools, this parameter sets the maximum load imbalance ratio for recursive bipartitions. exclusive with the-moption.-coptβ choose the 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.-mstratβ use parallel mapping strategy strat (see the PT-Scotch user's manual for more info).-qβ (fordgpart)-qpwghtβ (fordgmap) use the programs as graph clustering tools instead of static mapping or graph partitioning tools. fordgpart, the number of parts will become the maximum cluster weight. fordgmap, this number pwght has to be passed after the option.-rpnumβ set the root process for centralized files (default is0).-Vβ display program version and copyright.-vverbβ set verbose mode to verb. it's a set of one or more characters, which can be:mβ mapping information.sβ strategy information.tβ timing information.
β οΈ NOTE β οΈ
at the time being (version 5.1), dgmap cannot compute full static mappings the way gmap(1) does. it can only do 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. π so don't come for it, come correctly. π
πΈ EXAMPLES πΈ
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 (peep 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
π SEE ALSO π
dgtst(1), dgscat(1), amk_grf(1), acpl(1), gmap(1), gmtst(1).
PT-Scotch user's manual.
π AUTHOR π
Francois Pellegrini <francois.pellegrini@labri.fr>
and that's the whole page, bestie, no cap. this gem is from the PT-Scotch user's manual and it's dated 16 June 2026 β go forth and map some graphs, you absolute icon. π«Άπ β¨
π¦ where this page comes from
- ubuntu stonking: ptscotch 7.0.15-4ubuntu1 Β· CeCILL-C
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms