Scotch
can now handle compressed streams on the fly, in several widely used
formats such as
gzip
,
bzip2
or
lzma
. Please refer to Section 6.2 for more informa-
tion.
4.2
Changes from version 5.0
A new integer index type has been created in the Fortran interface, to address array
indices larger than the maximum value which can be stored in a regular integer.
Please refer to Section 8.3 for more information.
5
Files and data structures
For the sake of portability, readability, and reduction of storage space, all the data
files shared by the different programs of the
Scotch
project are coded in plain
ASCII text exclusively. Although we may speak of “lines” when describing file for-
mats, text-formatting characters such as newlines or tabulations are not mandatory,
and are not taken into account when files are read. They are only used to provide
better readability and understanding. Whenever numbers are used to label objects,
and unless explicitely stated,
numberings always start from zero
, not one.
5.1
Graph files
Graph files, which usually end in “
.grf
” or “
.src
”, describe valuated graphs, which
can be valuated process graphs to be mapped onto target architectures, or graphs
representing the adjacency structures of matrices to order.
Graphs are represented by means of adjacency lists: the definition of each
vertex is accompanied by the list of all of its neighbors, i.e. all of its adjacent arcs.
Therefore, the overall number of edge data is twice the number of edges.
Since version
3.3
has been introduced a new file format, referred to as the “new-
style” file format, which replaces the previous, “old-style”, file format. The two
advantages of the new-style format over its predecessor are its greater compacity,
which results in shorter I/O times, and its ability to handle easily graphs output
by C or by Fortran programs.
Starting from version
4.0
, only the new format is supported.
To convert
remaining old-style graph files into new-style graph files, one should get version
3.4
of the
Scotch
distribution, which comprises the
scv
file converter, and use it to
produce new-style
Scotch
graph files from the old-style
Scotch
graph files which
it is able to read. See section 6.3.5 for a description of
gcv
, formerly called
scv
.
The first line of a graph file holds the graph file version number, which is cur-
rently
0
. The second line holds the number of vertices of the graph (referred to as
vertnbr
in
libScotch
; see for instance Figure 16, page 51, for a detailed example),
followed by its number of arcs (unappropriately called
edgenbr
, as it is in fact equal
to twice the actual number of edges). The third line holds two figures: the graph
base index value (
baseval
), and a numeric flag.
The graph base index value records the value of the starting index used to
describe the graph; it is usually 0 when the graph has been output by C programs,
and 1 for Fortran programs. Its purpose is to ease the manipulation of graphs within
each of these two environments, while providing compatibility between them.
19