gmap(1)
πΈ NAME πΈ
okay so bestie, meet gmap and gpart β they live in the Scotch user's manual, and their whole thing is computing static mappings and partitions sequentially. yeah. sequentially. one after another. periodt π
π¦ SYNOPSIS π¦
gmap [options] [gfile] [tfile] [mfile] [lfile]
gpart [options] [nparts/pwght] [gfile] [mfile] [lfile]
β¨ DESCRIPTION β¨
So gmap computes, in a sequential way, a static mapping of a source graph onto a target graph. that's the assignment. iconic honestly.
gpart is like the simplified little sister interface to gmap β except it does graph partitioning instead of static mapping. So because of that, you have to hand it the desired number of parts instead of a target architecture. And when you're using the program for graph clustering, that number of parts turns into maximum cluster weight. not me being flexible like that π
The -b and -c options let you set preferences on the behavior of the mapping strategy that's used by default. The -m option is the choose-your-own-adventure one β it lets you define a custom mapping strategy. slay.
The -q option turns the programs into graph clustering programs. heads up though: in that case gmap only accepts variable-sized target architectures. no cap.
Source graph file gfile can only be a centralized graph file. For gmap, the target architecture file tfile describes either algorithmically-coded topologies (think meshes, think hypercubes) or decomposition-defined architectures created by the amk_grf(1) program. The resulting mapping gets stored in file mfile. Any eventual logging information (like the stuff option -v produces) gets sent to file lfile. When you don't name your files, data is read from standard input and written to standard output. And standard streams can also be explicitely represented by a dash '-'. π«Ά
When the proper libraries got included at compile time, gmap and gpart 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'). literally so versatile π
π₯ OPTIONS π₯
-bvalβ sets 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 β pick a lane babe π-coptβ chooses 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.
It is exclusive with the -m option.
-hβ displays some help. (we love a helpful queen π )-mstratβ use sequential mapping strategy strat (see the Scotch user's manual for more information).-qβ (forgpart)-qpwghtβ (forgmap) use the programs as graph clustering tools instead of static mapping or graph partitioning tools. Forgpart, the number of parts will become the maximum cluster weight. Forgmap, this number pwght has to be passed after the option. order matters bestie!!-Vβ displays program version and copyright.-vverbβ sets verbose mode to verb. It's a set of one of more characters, which can be:mβ mapping information.sβ strategy information.tβ timing information.
π TARGET ARCHITECTURES π
Target architectures are the graphs onto which source graphs get mapped. And in order to speed-up the obtainment of target architecture topological properties during the computation of mappings, some classical topologies are algorithmically coded right into the mapper itself. So these topologies are simply defined by their code name, followed by their dimensional parameters:
cmplt dimβ unweighted complete graph of size dim.cmpltw dim w0 w1 ... wdim-1β weighted complete graph of size size and of respective loads w0, w1, ..., wdim-1.hcub dimβ hypercube of dimension dim.leaf hgt n0 w0 ... nhgt-1 whgt-1β tree-leaf graph of height hgt with (n0 times n1 times ... nhgt-1) vertices, with inter-cluster link weights of w0, w1, ... whgt-1.mesh2D dimX dimYβ 2D mesh of dimX times dimY nodes.mesh3D dimX dimY dimZβ 3D mesh of dimX times dimY times dimZ nodes.torus2D dimX dimYβ 2D torus of dimX times dimY nodes.torus3D dimX dimY dimZβ 3D torus of dimX times dimY times dimZ nodes.
Other target topologies can be created from their source graph description by using the amk_grf(1) command. In that case, the target description will begin with the code name deco. custom builds only π
π MAPPINGS π
Mappings are represented by as many lines as there are vertices in the source graph. Each of these lines is made of two figures: the number of the vertex (or its label, if source graph vertices are labeled) and the index of the target vertex to which it has been assigned. Target vertex indices range from 0 to the number of vertices in the target architecture (that is, the number of parts) minus one. math is mathing β¨
This block of lines is always preceded by the number of such lines. In most cases, since full mappings are requested, the number of lines is equal to the number of vertices in the source graph.
π EXAMPLES π
Run gpart to compute a partition into 7 parts of graph 'brol.grf' and save the resulting ordering to file 'brol.map'.
$ gpart 7 brol.grf brol.map
Run gmap to compute a partition, into 3 parts of respective weights 1, 2 and 4, of graph 'brol.grf' and save the resulting mapping to file 'brol.map'. The dash '-' standard file name is used so that the target architecture description is read from the standard input, through the pipe, as provided by the 'echo' shell command.
$ echo "cmpltw 3 1 2 4" | gmap brol.grf - brol.map
π SEE ALSO π
amk_grf(1),acpl(1),gmtst(1),dgmap(1).- Scotch user's manual.
π«Ά AUTHOR π«Ά
Francois Pellegrini <francois.pellegrini@labri.fr>
ok that's the whole page bestie. this one came from the Scotch user's manual, dated 16 June 2026, and it's the man page for gmap(1). go map something gorgeous. bye!! π¦πβ¨
π¦ where this page comes from
- ubuntu stonking: scotch 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