•
STRATPARAMSTRAT
: strategy. For instance, the graph ordering method
by nested dissection takes a vertex partitioning strategy as one of its
parameters, to compute the vertex separators.
The fourth and fifth fields are the address of the location of the default struc-
ture and the address of the parameter within this default structure, respec-
tively. From these two values can be computed at run time the offset of the
parameter within any instance of the parameter structure, which is used to
fill the actual structures in the parsed strategy evaluation tree. The value of
the sixth parameter depends on the type of the parameter. It should be
NULL
for
STRATPARAMDOUBLE
and
STRATPARAMINT
parameters, points to the string
of available case letters for
STRATPARAMCASE
parameters, points to the target
string buffer for
STRATPARAMSTRING
parameters, and points to the relevant
method parsing table for
STRATPARAMSTRAT
parameters.
3. Edit the makefile of the
libScotch
source directory to enable the compilation
and linking of the method. Depending on
libScotch
versions, this makefile
is either called
Makefile
or
make gen
.
4. Compile in debug mode and experiment with your routine, by creating strate-
gies that contain its single-letter code.
5. To change the default strategy string used by the
libScotch
library, up-
date file
library graph order.c
, since it is the graph ordering routine which
makes use of graph vertex separation methods to compute separators for the
nested dissection ordering method.
10.4
Licensing of new methods and of derived works
According to the terms of the CeCILL-C license [6] under which the
Scotch
software package is distributed, the works that are carried out to improve and
extend the
libScotch
library must be licensed under the same terms. Basically, it
means that you will have to distribute the sources of your new methods, along with
the sources of
Scotch
, to any recipient of your modified version of the
libScotch
,
and that you grant these recipients the same rights of update and redistribution
as the ones that are given to you under the terms of CeCILL-C. Please read it
carefully to know what you can do and cannot do with the
Scotch
distribution.
You should have received a copy of the CeCILL-C license along with the
Scotch
distribution; if not, please browse the CeCILL website at
http://www.cecill.
info/licenses.en.html
.
Credits
I wish to thank all of the following people:
•
Patrick Amestoy collaborated to the design of the Halo Approximate Mini-
mum Degree algorithm [47] that had been embedded into
Scotch 3.3
, and
gave me versions of his Approximate Minimum Degree algorithm, available
since version
3.2
, and of his Halo Approximate Minimum Fill algorithm, avail-
able since version
3.4
. He designed the mesh versions of the approximate min-
imum degree and approximate minimum fill algorithms, which are available
since version
4.0
;
132