Bâtiment Inria sur le campus de Talence.
© Inria / Photo B. Fourrier

L’atelier Guix en calcul intensif (HPC) est un évènement francophone d’une journée qui aura lieu à Bordeaux dans les locaux Inria de Talence, en salle Ada Lovelace, le jeudi 7 novembre 2024, juste après les Journées calcul et données (JCAD).

L'inscription est gratuite mais obligatoire pour des raisons de logistique : merci de remplir ce formulaire Evento.

Jeudi matin

  • 09:00–09:30
    👋 Accueil
  • 09:30–10:00
    📁📺
    Read more...

    Le déploiement de logiciels scientifiques en calcul intensif (HPC) est trop souvent synonyme de souffrance : piles logicielles complexes, autonomie et flexibilité limitées en tant qu’utilisateurice des moyens de calcul, et un travail à refaire sur chaque cluster. Peut-on aller au-delà des modules ?

    Cet exposé revient sur le point de départ de Guix en HPC : donner plus d’autonomie aux utilisateurices des moyens de calcul et permettre la mise en commun de nos expertises métier. Nous discuterons de l’articulation avec les enjeux de « science ouverte » et de reproductibilité et des risques associés — quid de la performance ? Depuis 2017, Guix-HPC suit ce chemin singulier dans le paysage de la recherche avec des avancées notamment techniques qui portent leurs fruits.

  • 10:00–10:45
    📁📺
    Read more...

    GliCID — le mésocentre unique de la région pays de la Loire — issu de plusieurs centres de calculs disséminés sur le territoire, a mis à disposition mi-2023 son premier cluster de calcul.

    Disposant de nœuds de calculs et de frontales fonctionnant sous une distribution Linux très commune, avec des outils habituels tels que les modules, ce cluster est volontairement proche des précédents : Les usagers des anciens centres ne sont pas perdus.

    Mais en y regardant de plus près, tout n’est pas si habituel. Guix y tient une place importante.

    Guix est immédiatement utilisable par tous les utilisateurs, sans restriction, apportant ses avantages : un large choix de logiciels supplémentaires, la garantie d’une exécution correcte et reproductible sur l’ensemble des machines (le cluster dispose de plusieurs tranches hétérogènes). Le tout en totale autonomie pour l’usager : le profil adéquat doit juste être chargé (évitant de perturber des environnements historiques parfois fragiles, tels que ceux générés par les modules).

    GliCID dispose de son propre canal pour enrichir le panel de logiciels avec des paquets ad-hoc, par exemple des versions d’Open MPI optimisées pour le réseau RoCE et destinées à des versions spécifiques de Fortran.

    Certains logiciels très communs ou personnalisés pour le cluster sont directement mis à disposition de tous nos usagers, de façon transparente (ils n’ont pas conscience d’utiliser des paquets Guix), grâce à un profil global dédié rendu disponible à tous (via l’utilisation de/usr/local/bin).

    Cette même méthode permet la mise à disposition d’un binaire global guix disposant de tous les canaux supplémentaires et mis à jour toutes les nuits.

    Un tout nouvel utilisateur n’a plus à lancer le fameux premier guix pull, pour bénéficier de la logithéque complète et à jour. Cette étape, longue et normalement nécessaire lors de la toute première utilisation, est souvent mal comprise. Nous l’avons identifié comme une barrière importante à la démocratisation de l’outil, en particulier lors de formations.

    Nous sommes allés plus loin dans l’utilisation de Guix. Si la partie visible (nœuds de calcul, frontales principales) reste basée sur une distribution Linux habituelle, ce n’est plus le cas de la plus grosse partie de l’infrastructure de nos clusters, qui est elle générée par Guix System (contrôleurs slurm, gestion d’identités, de haute disponibilité, bases de données, monitoring, serveurs WWW, bastions SSH, frontales et nœuds de debug…) et déployée sur des machines virtuelles gérées par Proxmox.

    La stabilité et facilité de redéploiement de l’ensemble sont remarquables.

    À l’avenir, certains services ou serveurs complexes restent à convertir sous Guix, tout comme certaines bibliothèques scientifiques complexes ou historiques, demandées par nos utilisateurs.

  • 10:45–11:00
    ☕ break
  • 11:00–11:45
    📁📺
    Read more...

    Dans cette présentation, on abordera différents aspects gravitant autour de Guix : la définition de paquets, la création d'un canal, l'intégration continue et le passage des paquets Guix aux images Apptainer. Cela se fera au travers un exemple concret : le projet DIAMOND du PEPR DIADEM qui vise à mettre en place une plateforme numérique pour accélérer le développement et la découverte de nouveaux matériaux. Une des problématiques de ce projet est de fournir aux chercheurs une liste de codes exhaustive et prête à l'emploi sur la plupart des infrastructures de calcul.

  • 11:45–12:30
    📁📺
    Read more...

    Dans cette présentation, je montrerai comment la commande guix shell facilite le développement dans des environnements isolés et cohérents entre les collaborateurs, notamment sur des projets comportant de nombreuses dépendances. Nous verrons également comment la combinaison avec la commande guix time-machine garantit la reproductibilité des expérimentations. Nous aborderons la flexibilité apportée par les options de transformation de Guix, qui permettent d'adapter les environnements à différents cas d'utilisation.

    Cette présentation des fonctionnalités de Guix se fera à travers des exemples concrets issus de ma thèse : le développement d'un solveur dans le cadre de l'ANR TensorVim et l'encadrement d'un stage sur l'utilisation de Kokkos.

Jeudi après-midi

  • Inria