Café Guix

Image of a hot beverage and the words Café Guix.

This page is about monthly hacking sessions for French-speaking scientists and HPC practitioners, covering a range of topics from user interface matters to deep packaging dives. Read below for past and upcoming sessions.

Le Café Guix est un temps d’échange mensuel et informel autour du gestionnaire d’environnement logiciel GNU Guix. Étudiant·e·s, chercheuses et chercheurs, administrateur·ice système, IT support de laboratoire ou de Centre de Calcul, tout le monde est bienvenu·e dans ce rendez-vous mensuel d’une heure où l’on discutera de questionnements apportés par chacun sur Guix et sa pratique au sens large.

La participation aux Cafés Guix est libre, aucune obligation d’assiduité n’est imposée. En fonction des sujets abordés, il est fort possible que vous soyez parfois peu concernés. Si vous voulez discuter d’un sujet spécifique (par ex. interface utilisateur·ice, empaquetage, installation système, problème sur un paquet spécifique), n’hésitez pas à nous en faire part en amont afin que l’on puisse répondre aux envies de tout le monde.

Après la trève estivale, les cafés Guix sont de retour ! Ils auront lieu de façon générale les derniers mardis de chaque mois de 13h à 14h en visio sur ce lien :

▶ BigBlueButton

— entrez votre nom et rejoignez-nous. N'hésitez pas à rejoindre le groupe Mattermost dédié pour prolonger la discussion entre deux sessions !

Nous avons choisi de labelliser les sessions par des petits logos qui indiquent le niveau de difficulté du thème présenté :

Description des trois niveaux de difficulté.

Ces niveaux sont bien sûr donnés à titre indicatif.

Programme des sessions 2022–2023

  • 31/01/23 Niveau 3Niveau 3Niveau 3 : Construction d'un paquet "difficile" : exemple avec pytorch
  • 07/03/23 Niveau 1 : Parallèle entre Guix et Software Heritage sur l’aspect archivage long-terme et reproductibilité
  • 28/03/23 Niveau 2Niveau 2 : VSCode comme outil d’édition et son plugin guile, illustration avec la construction d'un paquet simple et détail des phases de build-system
  • 09/05/23, session spéciale Thé Guix : Comment installe-t-on Guix sur un cluster de méso-centre, avantages, inconvénients et difficultés éventuelles
  • 30/05/23 Niveau 2Niveau 2 : Transformation de paquets avec un focus Guix-HPC

Sessions 2022–2023

Huitième session (31 janvier 2023, 13h00–14h00) --> (21 février 2023, 13h00–14h00)

Niveau 2 Niveau 2 Niveau 2 Quand empaqueter devient compliqué

Pour donner une idée de ce qu’est un paquet, on commence généralement par montrer un cas simple, immédiatement compréhensible et rassurant. Dans la réalité, il n’est pas rare que les choses se compliquent.

Dans cette session, nous verrons comment adapter une définition de paquet pour spécifier des options de configuration ou des drapeaux de compilation, changer les phases de construction, manipuler des fichiers source ou installés, faire référence aux dépendances du paquet.

Nous retrouverons des notions abordées dans l’introduction au langage Scheme de la session du 29 novembre 2022, pour votre plus grand bonheur. Bonus : vous êtes invité·es à venir avec vos propres soucis d’empaquetage pour en discuter !

Septième session (29 novembre 2022, 13h00–14h00)

Niveau 2 Niveau 2 Introduction à Scheme/Guile : déconstruisons un paquet

📂 📺

Les parenthèses, c'est « baroque » ! Et il y en a beaucoup avec Guix, de la déclaration dans les fichiers manifest à la définition d'un paquet en passant par Guix lui-même. Grâce au langage Scheme (Guile), il y a une continuité allant de l'implémentation des commandes Guix à la configuration déclarative dans un langage dédié (domain-specific language–DSL). Dans ce Café Guix, nous proposons une introduction à quelques concepts de Guile pour mieux appréhender les parenthèses et peut-être mieux apprécier le « néo-baroque ».

Sixième session (25 octobre 2022, 13h00–14h00)

Niveau débutant·e. Installer et utiliser facilement et de façon reproductible ses logiciels avec Guix

📂 📺

Si le monde des environnements logiciels vous paraît difficile d’accès mais que vous voulez mener vos expérimentations numériques dans un cadre le plus reproductible possible, cette session est pour vous. Nous découvrirons le gestionnaire d’environnements logiciels Guix, par rapport à ce que vous pouvez connaître, puis nous verrons, très concrètement, comment l’utiliser en quelques commandes, se comptant sur les doigts d’une main.

Cinquième session (7 juillet 2022)

📂

Dans ce dernier Café Guix avant les vacances estivales nous parlerons des canaux pour étendre la collection de paquets disponible. Nous commencerons par un rappel sur étendre localement la collection de paquets via --load-path puis comment transformer ces définitions de paquet en canal partageable. Pour finir, nous amorcerons une discussion sur la maintenance de canaux tiers.

Ce prochain Café Guix aura lieu le 7 juillet, de 13h30 à 14h30 à cette adresse.

Quatrième session (15 avril 2022)

Guix et le long terme : difficultés et contre-mesures

📂

En complément, nous recommandons ce billet (en anglais) qui donne des éléments sur les enjeux de la préservation de Guix sur le long terme.

Dans un contexte de recherche reproductible, un des enjeux est la capacité de « capturer l’environnement computationnel » pour le redéployer ou l’inspecter. Et il y a ainsi une dimension sous-jacente : le temps. Dans ce quatrième Café Guix de l’année, nous présenterons la problématique, la solution d’archivage Software Heritage et comment Guix se positionne. Notre objectif est d’introduire la question « comment refaire plus tard et là-bas ce qui a été fait aujourd’hui et ici ? », et d’amorcer une discussion autour d’une autre question : comment peut-on utiliser Guix en pratique pour y répondre ?

Ce prochain Café Guix aura lieu le 15 avril, de 13h à 14h à cette adresse.

Troisième session (11 mars 2022)

📂

Pour ce troisième Café Guix de l'année, Philippe Swartvagher (doctorant à Inria Bordeaux) nous présentera comment Guix peut aider dans la réalisation d'expériences reproductibles, sur des machines HPC, et avec des piles logicielles plutôt complexes. Seront évoqués : pourquoi utiliser Guix ; comment se servir de Guix pour faire des expériences reproductibles (à présenter dans un papier, par exemple) ; et enfin comment assurer la pérennité de ses scripts et logiciels.

La présentation permettra à celles et ceux qui n'ont pas encore fait d'expériences reproductibles avec Guix d'avoir un aperçu des différentes étapes et pratiques possibles pour y parvenir.

Le prochain Café Guix aura lieu le 11 mars, de 13h à 14h à cette adresse.

Deuxième session (11 février 2022)

Lors des 3 derniers (et premiers, aussi) Cafés Guix, bon nombre de questions ont été posées sans que nous ayons forcément le temps d’y répondre exhaustivement. Ainsi, pour le prochain Café Guix, nous vous proposons une session Questions/Réponses.

N’hésitez surtout pas à envoyer vos questions à cette adresse ou à les rajouter dans ce pad afin que nous préparions au mieux la session et que nous y répondions le plus précisément possible. Ne vous modérez pas, il n’y pas de questions stupides. Le périmètre peut être très large : question générale sur les gestionnaires d’environnement logiciel, comment fait-on ceci, j’ai un problème avec ce paquet précis, comment Guix interagit avec les variables d’environnement, etc. Si l’afflux de questions est trop important, un deuxième café de ce type sera programmé.

Le prochain Café Guix aura lieu le 11 février, de 13h à 14h à cette adresse.

Première session de l’année (7 janvier 2022)

Nous parlerons cette fois ci de création d'environnements de développement. Nous verrons comment utiliser guix shell, la nouvelle commande qui remplace guix environment (laquelle est toujours disponible mais désuète), pour obtenir des environnements à la manière de module load ou de VirtualEnv. Si vous n’avez pas encore franchi le pas ou si vous venez de commencer avec Guix, cette session est pour vous !

Ce prochain Café Guix aura lieu vendredi 7 janvier 2022, de 13h à 14h à cette instance BigBlueButton — entrez votre nom et rejoignez-nous.

Continuer la discussion

Rejoignez le groupe Mattermost dédié pour prolonger la discussion entre deux sessions !

Sessions précédentes…

Organisation

  • Céline Acary-Robert (Université Grenoble-Alpes)
  • Pierre-Antoine Bouttier (Université Grenoble-Alpes)
  • Ludovic Courtès (Inria)
  • Yann Dupont (Université Nantes)
  • Jean-François Guillaume (Université Nantes)
  • Simon Tournier (Université Paris)
  • MDC
  • Inria
  • UBC
  • UTHSC