Scotch
Fonctionnalités générales du logiciel
La distribution SCOTCH est un ensemble de programmes séquentiels et parallèles et de bibliothèques pour le partitionnement de graphes, le placement statique et la renumérotation de matrices creuses. Ces fonctionnalités sont accessibles au moyen de programmes en ligne de commande, ou bien par l'appel de fonctions de la bibliothèque libSCOTCH, disposant de prototypes en C et en FORTRAN.
SCOTCH :
- fournit des algorithmes pour partitionner des structures de graphes, ainsi que des structures de maillages définies comme des graphes bipartis noeuds/éléments et qui peuvent aussi représenter des hypergraphes ;
- peut placer tout type de graphe source sur tout type de graphe cible. Les graphes source et cible peuvent être de topologies quelconques, et leurs sommets et arêtes peuvent être valués. Qui plus est, ces graphes peuvent même être déconnectés. Cette fonctionnalité permet le placement de programmes sur des sous-parties disjointes d'une architecture parallèle constituée de processeurs et de liens de communication hétérogènes ;
- calcule des renumérotations de matrices creuses amalgamées par blocs, pour une résolution efficace au moyen de routines BLAS ;
- peut manipuler indifféremment des structures de graphes et de maillages créées au sein de programmes C ou FORTRAN, avec des indices de tableaux commençant à 0 ou à 1 ;
- offre un support étendu des graphes et maillages adaptatifs par la gestion de tableaux d'arêtes disjoints ;
- est paramétrable dynamiquement, grâce à l'interprétation des chaînes de stratégie lors de l'exécution du programme ;
- est très fortement modulaire et documenté. Comme il est maintenant disponible sous la licence libre CeCILL-C, il peut être utilisé comme banc de test pour le développement rapide et le test de nouvelles méthodes de partitionnement ou de renumérotation ;
- peut être facilement interfacé avec d'autre programmes. Les programmes du projet SCOTCH ont été conçus pour fonctionner en mode ligne de commande sans sollicitations de l'utilisateur, afin qu'ils puissent être appelés facilement à partir d'autres programmes au moyen d'appels system() ou popen(), ou bien être combinés sur une seule ligne de commande au moyen de pipes. De plus, les fonctionnalités d'étiquetage des sommets permettent une renumérotation facile de ceux-ci ;
- offre de nombreux outils pour construire, tester, et afficher des graphes ;
- est écrit en C ANSI et utilise l'interface POSIX, ce qui le rend très portable. PT-SCOTCH utilise l'interface MPI, et optionnellement les threads POSIX.