Logiciel

Logiciel Scotch : un succès inusable

Date:

Mis à jour le 17/06/2025

Logiciel libre créé il y a trois décennies, Scotch bénéficie désormais d'un consortium d'Inria chargé de le pérenniser et de garantir son niveau de maturité technologique. Son rôle : il permet de répartir des calculs complexes entre plusieurs processeurs pour gagner en performance. Indémodable, Scotch est utilisé dans de nombreux secteurs comme l’aéronautique ou la médecine. Aujourd’hui, il va même avoir droit à sa version Python. L'occasion de revenir sur sa trajectoire exceptionnelle.
Partage de graphe BRACKET en 8 parties avec la bande algorithme de diffusion de SCOTCH 5.0
© François Pellegrini / Bordeaux INP

Scotch, en vogue depuis 1992

Bientôt 33 ans et pas une ride. Scotch continue d'être utilisé dans de nombreux domaines allant de la médecine à l'aéronautique, en passant par le spatial ou l'automobile. Créé en 1992 par François Pellegrini, ce logiciel open source bénéficie désormais d’un consortium d'Inria via le programme InriaSoft, avec un objectif : assurer sa pérennité.

« L’objectif de Scotch n'a pas beaucoup changé depuis sa création, constate son auteur, rattaché à l’équipe-projet Tadaam du centre Inria de l'Université de Bordeaux. En revanche, il a toujours besoin d'être adapté à ses différents usages. En plus des recherches visant à l’améliorer, il nécessite donc de la maintenance, ce que permet le consortium. »

Pour l’heure, deux ingénieurs, parfois aidés de stagiaires, ont pour mission de répondre aux besoins des industriels ou des scientifiques utilisateurs de Scotch, en recherche permanente de robustesse technologique.

Un « découpeur de graphes »

L’objectif de Scotch est d’aider ses usagers à paralléliser leurs calculs, selon une logique de séparation dans laquelle plusieurs processeurs travaillent simultanément sur une même tâche globale, mais sans se gêner. On obtient plus vite les résultats de calculs sur des données qui, souvent, ne pourraient pas tenir dans la mémoire d’un seul ordinateur. « C'est comme répartir un travail difficile entre plusieurs personnes, illustre François Pellegrini. Au lieu de laisser un seul ordinateur traiter tous les calculs d'une simulation, plusieurs gèrent chacun uniquement une partie. »

Pour cela, la solution consiste à "découper" des graphes, soit des structures mathématiques représentant les relations dans un ensemble de données, afin de répartir les besoins de calculs en sous-ensembles équilibrés entre les différents processeurs.

Le défi ? « Réduire au maximum les informations à échanger entre chaque partie, répond le chercheur. Par exemple, si dans un bureau, chacun a sans arrêt besoin d'échanger avec un collègue à l'autre bout de la pièce, le fonctionnement ne sera pas optimal ! » Scotch découpe donc le problème de la meilleure manière possible afin que chaque sous-problème puisse être résolu le plus indépendamment des autres, en limitant les connexions entre eux. Ce processus, dénommé “partitionnement”, s’avère essentiel pour optimiser les simulations en calcul haute performance (HPC).

© Xavier Muller/Inria

Un principe inchangé depuis 30 ans

Déjà ancien, le logiciel Scotch a vu le jour à une époque où posséder un ordinateur personnel n'était pas si répandu et où les utilisateurs de Windows n'avaient pas encore accès au clic droit ! Pourtant, son principe n'a pas changé, même avec les ordinateurs actuels infiniment plus puissants que ceux de l'époque.

Rien de surprenant, aux yeux de François Pellegrini : « Les machines en font plus… Mais les utilisateurs en veulent toujours plus aussi ! Les descriptions des problèmes à résoudre sont plus fines, le maillage plus dense, mais le problème reste toujours le même. Ainsi, il est toujours nécessaire de découper le travail pour gagner en performance et faire diminuer la charge de travail qui pèse sur les processeurs. » Et Scotch, une innovation pointue en 1992, a su s’adapter au fil du temps aux nouveaux usages pour devenir une brique logicielle industrielle durable.

De multiples usages en médecine, automobile, aéronautique…

Aujourd'hui, le logiciel est principalement utilisé pour tout ce qui concerne la simulation numérique à grande échelle. Des exemples ? Dans le secteur de la santé, il peut contribuer à reproduire informatiquement un cœur humain. Dans le domaine aéronautique, il accompagne un groupe industriel dans la conception d'une maquette numérique d'un avion avant de se lancer dans sa construction. Même la NASA y a recours pour certains de ses projets autour de simulations numériques.

De surcroît, Scotch est aussi utilisé en tant que brique technologique embarquée dans plusieurs plus gros logiciels. C'est le cas de PETSc par exemple, une énorme bibliothèque de calcul scientifique. Ou encore d'OpenFOAM, une vaste bibliothèque logicielle mêlant de nombreux outils. Les utilisateurs ne le savent pas forcément, mais il y a du Scotch dans ces mastodontes.

De son propre aveu, François Pellegrini n’a pas le temps nécessaire pour suivre la trajectoire de son “bébé”. Le chercheur confie "Certains de mes collègues ont dû assurer la maintenance de leurs produits pendant plusieurs mois, voire des années. Ce n'est pas mon but." 

Image

Verbatim

« Je dois pouvoir continuer à avoir du temps pour mes recherches. Je suis content de voir que, désormais, l'expertise se diffuse sans qu’il y ait besoin de mon intervention pour faire fonctionner le logiciel dans plusieurs champs d'application. »

Auteur

François Pellegrini

Poste

Professeur des universités à l'université de Bordeaux - Chercheur au sein de l'équipe-projet Tadaam

La force du logiciel libre

Même si les taux d’utilisation sont difficiles à déterminer, du fait de téléchargements en provenance d'une multitude de sources, une chose est sûre : en 2021, Scotch était le sixième logiciel le plus populaire d'Inria avec près de 280 000 téléchargements. Une success-story qui ne s'est pas faite en un jour. « À l’origine, mon directeur de thèse n’imaginait pas que ce type de logiciel pourrait avoir autant d'influence, se souvient François Pellegrini. Pour ma part, j'ai voulu le faire basculer sous licence libre afin de le diffuser au maximum. » Ce principe d'ouverture, le chercheur l'a voulu pour des raisons d'abord économiques – « l'argent public ne doit payer qu'une fois » – mais aussi pour maximiser l'impact scientifique de Scotch. Ainsi, tout scientifique peut télécharger librement le logiciel et le manipuler à sa guise.

Mais alors pourquoi créer un consortium dédié à sa maintenance et sa pérennité ? « L’expertise reste rare. Il faut donc des spécialistes pour faire évoluer le logiciel, l’améliorer et résoudre les bogues. Et grâce à cette structure, tout cela peut se faire sans moi, mais avec des personnes formées à cela. » Un choix gagnant aussi pour les nombreux utilisateurs de Scotch : grâce à ce consortium, ils ont l’assurance que le logiciel sera mis à jour régulièrement et qu'il n'y aura pas d'interruption de son fonctionnement, et ce même si son créateur n’est plus en mesure de s’y consacrer.

Une nouvelle version compatible avec Python

Aujourd’hui, Scotch connaît une évolution de taille, à travers la création de ScotchPy : une surcouche permettant d’interfacer Scotch avec le langage informatique Python, de plus en plus utilisé aujourd'hui, surtout pour traiter les grandes quantités de données. Historiquement codé en langage de programmation C, Scotch pourra donc aussi être manipulé par les utilisateurs de Python. « Ce langage est parfait pour le prototypage, assure François Pellegrini. « Construire une interface qui relie Scotch à Python nécessite un travail de ”plomberie” car nous avons des briques en C qui seraient coûteuses à recoder. En clair, nous allons proposer Python, mais garder le C sous le tapis pour tout le travail de fond. »

Après plus de trois décennies, Scotch n'a donc visiblement pas fini de se diffuser à travers la planète. Ce logiciel prouve que l'open source peut être particulièrement pertinent pour maximiser l'impact scientifique, mais aussi industriel, d'une innovation technologique.