- Indico style
- Indico style - inline minutes
- Indico style - numbered
- Indico style - numbered + minutes
- Indico Weeks View
L’édition 2024 des Journées Informatiques de l'IN2P3/IRFU aura lieu du lundi 23 septembre 2024 à 14h au jeudi 26 septembre 2024 à 12h.
Ces 15èmes Journées Informatiques se tiendront uniquement en présentiel au centre de Vacances Nature Montagne, les Balcons du Mont-Blanc à Saint-Nicolas-la-Chapelle (73). Le nombre de places maximum est fixé à 120 personnes, l'inscription est obligatoire et soumise à approbation. La priorité sera donnée aux collègues ayant une présentation ainsi qu'à ceux qui resteront les 4 jours complets.
Pour cette édition, nous avons invité 3 intervenants pour nous parler de :
Comme à chaque édition les JI IN2P3-IRFU accueillent toutes les propositions couvrant l’ensemble de nos métiers (DEV, ASR & informatique instrumentale) sur des sujets divers.
Si vos contributions rejoignent un des 3 thèmes abordés par les invités cela alimentera les échanges et les discussions des JI mais, bien entendu, cela n'est pas obligatoire.
Nous vous invitons dès à présent à soumettre vos résumés de contributions. Différents formats vous sont proposés :
La date limite de soumission de contributions est fixée au 20 juin 2024, à midi.
Notez que la date limite d'inscription est quant à elle fixée au 30 août 2024, à minuit.
Le temps de trajet est d'environ 1h30.
Merci de réserver vos trains en fonction de ces horaires. Cependant le comité local d'organisation se propose d'adapter les horaires de départ de la navette en fonction de vos heures d'arrivées (dans la limite du raisonnable).
Les présentations seront enregistrées, et proposées par la suite par le service du webcast IN2P3. Souhaitant revenir à un mode en présentiel uniquement, on ne proposera pas de lien Zoom pour suivre ces journées à distance.
La mise en place des bonnes pratiques de développement logiciel est essentielle afin d'assurer que des codes soient robustes et fiables, que les développements soient mis en place de façon transparente et traçable, et que les résultats produits soient reproductibles. Par conséquent, des bonnes pratiques améliorent la visibilité et la reproductibilité de la recherche et renforcent les collaborations. Tous ces aspects sont très importants dans le cadre de la science ouverte.
Dans cette présentation, je mettrai en évidence certaines étapes que nous avons entreprises afin de sensibiliser les chercheurs de notre groupe aux bonnes pratiques de développement logiciel. Je discuterai également comment ces pratiques ont été appliquées pendant le développement d'un outil numérique, appelé CUTER
("Crust Unified Tool for Equation of State Reconstruction"), livré à la collaboration LIGO-Virgo-Kagra qui est responsables pour la détection des ondes gravitationnelles. Je conclurai en décrivant les développements à venir, ainsi que leurs défis associés.
Dans un cadre large de partage et de vérification des produits de recherche, la notion de reproductibilité devient de plus en plus nécessaire. La question se pose sur comment parvenir à présenter des travaux de manière à pouvoir vérifier sa pertinence indépendamment de l’OS, l’architecture matérielle et des versions logicielles successives. S’affranchir de toutes ces contraintes, assurant la pérennité des résultats, est devenu une nécessité inexcusable dans une conjoncture orientée vers une science ouverte. Dans ce contexte, le logiciel libre se révèle comme un partenaire idéal.
Partant de la notion de traçabilité sur toute la couche logicielle, et en évitant les rajouts binaires non identifiables, GNU/Guix permet une gestion poussée du code source, un fort dégréé de customisation, ainsi que la création d’environnements logiciels vérifiables où exécuter son code. Ce comportement aboutit dans la création de conteneurs reproductibles destinés à des applications HPC et des pipelines CI où le déterminisme reste une contrainte forte.
Le Centre de Calcul de l'IN2P3 héberge les données de 180 expériences diverses, cumulant plus de 250 PiB de données. Afin de faciliter la formalisation et l’amélioration du cycle de vie de ces données, éviter les données dites "orphelines" ou devenue inutiles,permettre une meilleure organisation du stockage des projets et ainsi optimiser l'utilisation du stockage., le CC-IN2P3 demande aux expériences supportées des Plans de Gestion de Données (DMP).
Parmi les différents outils existants pour la rédaction de DMP, nous avons choisi d'implémenter RDMO (https://rdmo.readthedocs.io). Cet outil se présente sous la forme d’un portail web, ne nécessitant aucun travail supplémentaire pour l’utilisateur en dehors de la rédaction du DMP, nous a permis de construire un formulaire multilingue répondant aux standards du format RDA (Resource Description and Access / Ressources : Description et Accès). Nous avons personnalisé l’outil aux couleurs de l'IN2P3 en y ajoutant diverses modifications, telles qu'une traduction complète en français, un questionnaire personnalisé et, à l'avenir, l’ajout de fonctionnalités supplémentaires (archivage et versioning des DMP, automatisation de certaines tâches, etc.).
En parallèle de l'implémentation de l'outil, un soin particulier a été dédié à la rédaction d'une documentation publique accompagnant les utilisateurs au remplissage du formulaire en ligne, et aussi à la rédaction d'une documentation d'usage interne pour formaliser les procédures de gestion du service associé.
Dans un contexte de R&D complexe et de collaboration internationale en Intelligence Artificielle, le partage et l’évaluation des modèles, la traçabilité des hyperparamètres et des conditions expérimentales, ainsi que la reproductibilité des résultats, sont particulièrement importants. Nous présentons ici, sous la forme d’un retour d’expérience, l’apport des logiciels libres dans le développement d’ACORN [1], un framework pour l’apprentissage géométrique profond et l’utilisation des réseaux de neurones graphiques (GNNs) pour la reconstruction des traces de particules chargées dans les détecteurs de particules.
Nous montrons comment cet outil est intégralement basé sur des logiciels libres, tant pour la partie calcul (construction, entraînement, inférence et évaluation des modèles de GNNs) que pour la partie intégration continue et développement collaboratif. Les défis rencontrés dans ce contexte (en particulier sur les aspects de qualité logicielle) ainsi que les succès du framework dans la production scientifique (dans le cadre du développement d’un nouvel algorithme de reconstruction des traces de particules basé sur les GNNs [2-5] pour le détecteur ATLAS [6] au CERN [7] au HL-LHC [8] ) seront discutés.
Références :
[1] ACORN, https://gitlab.cern.ch/gnn4itkteam/acorn
[2] Biscarat, Catherine et al. “Towards a realistic track reconstruction algorithm based on graph neural networks for the HL-LHC”, https://doi.org/10.1051/epjconf/202125103047
[3] Gage Dezoort, Peter W. Battaglia, Catherine Biscarat, Jean-Roch Vlimant. Graph neural networks at the Large Hadron Collider. Nature Rev.Phys., 2023, 5 (5), pp.281-303. doi: ⟨10.1038/s42254-023-00569-0⟩. ⟨hal-04096263⟩
[4] Heberth Torres au nom de la collaboration ATLAS, « Physics Performance of the ATLAS GNN4ITk Track Reconstruction Chain ». Proceedings of the CTD 2023. https://cds.cern.ch/record/2882507
[5] Sylvain Caillou et al. « Novel fully-heterogeneous GNN designs for track reconstruction at the HL-LHC ». Proceedings of the CHEP 2023, https://doi.org/10.1051/epjconf/202429509028
[6] Expérience ATLAS, https://atlas.cern
[7] CERN, https://home.cern/
[8] Apollinari et al., High-Luminosity Large Hadron Collider (HL-LHC), https://cds.cern.ch/record/2284929
Je souhaiterai présenter l'application "Tableau de Bord NetWorker Web" que j'ai développé en html - php - javascript- Mysql ( Chatgpt a aidé à développer des parties de code car mon métier n'est pas développeur )-
Cette application est basée sur les informations extraites de la base de données de NetWorker grâce à la commande "mminfo".
En tant qu'ASR, j'exploite et administre depuis une dizaine d'années ce logiciel Networker.
Dans mon tableau de bord, je vérifie ainsi de manière synthétique (Tableau analyse croisée) l'état de plus d'une centaine de saveset (volumes sauvegardés) sur une année glissante (notre durée de rétention)
selon qu'ils sont full, cumulative et incrémentale et ce avec de nombreux filtres et tris, et ainsi décider de relancer tel ou tel sauvegarde.
Les Flags de sauvegarde traduit en libellés permettent de s'assurer que les savesets seront ainsi restaurables en cas de besoin.
La comparaison sur le même écran de synthèse de la taille des volumes sauvegardés avec la taille des volumes disques sources issus de l'appliance NetApp et des 3 serveurs de stockage Linux permet de s'assurer de la cohérence des volumes sauvegardés.
Un calendrier prévisionnel convivial des sauvegardes fédère les différents planning de sauvegarde de Networker.
L'application Web permet de lancer la commande nsrwatch (client/serveur) de NetWorker pour voir l'état des lecteurs des librairies et les évènements.
Les données sont rassemblées automatiquement (crontab) auprès des différentes sources dans une base de données Mysql.
Il est important qu'il y ait une connection wifi suffisante pour une démonstration.
Les ondes gravitationnelles sont une prédiction faite par Einstein en 1916 dans le cadre de la théorie de la Relativité Générale. Ces ondes se traduisent par des déformations de l'espace-temps de très faible amplitude. Par exemple, la fusion de 2 trous noirs se traduit par un changement relatif de longueur $h \approx 10^{-20}$. Ceci explique qu'il a fallu attendre l'arrivée des détecteurs de seconde génération pour pouvoir les observer directement. Ainsi, la première détection par la collaboration LVK a eu lieu en septembre 2015. Depuis, les améliorations successives des détecteurs ont permis d'accélérer le rythme de détection. D'autres méthodes de détection ont aussi été explorées (PTA) et plusieurs projets de détecteurs (au sol, spatiaux ou… sur la Lune) sont en cours.
La collaboration LVK a mis en place une politique d'ouverture des données à destination de la communauté Ondes Gravitationnelles. Cette politique passe par le Gravitational Wave Open Science Center (GWOSC). La principale activité du GWOSC est le développement et l'opération d'un site web permettant d'accéder aux données (requêtes, téléchargements). Le site contient aussi des ressources (tutoriels, liste de logiciels, etc.). Enfin, le GWOSC organise aussi des formations.
Cette contribution vise à présenter les aspects techniques et organisationnels du GWOSC, les évolutions en cours et quelques pistes pour le futur.
Eclair : présentation des nouvelles initiatives autour des LLMs et des RAGs : le nouveau groupe de travail "RAG Labs", et le projet d'ANF "Labos Bots" planifié pour novembre 2025.
Grand format : en plus, introduction aux IAs génératives enrichies par récupération (RAGs).
L'accélérateur Andromède (plateforme MOSAIC d’IJCLab) équipé d’un spectromètre de masse d'ions secondaires par temps de vol (ToF-SIMS) permet , grâce à une sonde de nanoparticules d'or, d’analyser la composition atomique et moléculaire d'échantillons de divers domaines de recherche interdisciplinaires tels que la biologie, l'astrochimie, la science des accélérateurs ou l'électronique organique.
Cependant, l'analyse des spectres ToF-SIMS composés de centaines de signaux ioniques rend l'analyse manuelle difficile et longue. Nous avons initié une étude afin de mettre au point des algorithmes basés sur des modèles de Deep Learning (réseaux de convolution 1D) capables d’identifier les différents composants du spectre (atomes, molécules, agrégats). Nous présenterons la méthode et les premiers résultats obtenus.
Comment les projets européens ESCAPE et EVERSE remettent le développement logiciel au centre du processus de recherche afin d’en améliorer sa qualité et de mieux valoriser le rôle de développeur.
Le projet ESCAPE a permis d’évaluer une stack technique de stockage distribué utilisée par le CERN et vérifier que cette solution satisfait les besoins d'autres grandes expériences (ESFRI).
Le projet OSCARS vise à diffuser et réutiliser cette solution de stockage distribué.
L'exemple de CTA comme (ré)utilisateur de cette solution.
En raison du fort investissement de la communauté Rust dans la détection et de la gestion des erreurs, les programmes Rust jouissent d'un niveau de fiabilité remarquablement élevé, souvent salué par des retours enthousiastes comme "Rust est ennuyeux en production, et c'est une bonne chose" ou bien "Si le code compile, il est probablement correct".
Néanmoins, certaines erreurs dépassent bien sûr le cadre de ce que le compilateur et les bibliothèques Rust peuvent détecter. Cela va de la classique erreur logique (ex : retourner 5 quand l'utilisateur demande 2 + 2) à des problématiques plus spécifiques à l'écosystème Rust (ex : ne pas respecter SemVer dans ses versions de bibliothèques).
Dans cette présentation, nous allons faire le tour de divers outils que les programmeurs Rust peuvent utiliser pour réduire le nombre de bugs qui passent entre les mailles du filets, afin de produire du code à la hauteur de la réputation du langage.
Dans le but de faciliter la mise à l'échelle de l'acquisition de données, l'idée est d'explorer l'utilisation d'un framework d'acquisition d'Orsay (DCOD) avec des conteneurs (par exemple, Docker) pour recevoir des données envoyées à haut débit par une électronique multi-voie via le réseau (NewComet).
En plus d'observer de potentielles économies d'énergie par rapport à l'utilisation de serveurs dédiés, les ressources allouées à l'acquisition seront mieux contrôlées.
Depuis 2017, le pôle DevOps de l'équipe Applications du CC-IN2P3 a entamé la longue et nécessaire transformation de son offre d'hébergement de sites et d'applications web. En partant de la plateforme d'hébergement historique nous avons progressivement basculé notre activité vers une nouvelle solution basée sur l'orchestration de conteneurs (Kubernetes, distribution OKD) que nous avons baptisée "WoK", pour Web on Kubernetes.
Cette présentation vise à décrire les choix technologiques et architecturaux qui ont été faits, les différentes étapes de ce projet, ses objectifs, les gains espérés et obtenus, mais aussi les écueils et les difficultés rencontrées le long du trajet. Un état d'avancement du processus, toujours en cours, sera aussi fait, avec la mise en lumière des prochaines étapes et les évolutions envisagées.
Enfin, il sera présenté à qui et pour quels projets se destine ce service et comment les utilisateurs du CC-IN2P3 peuvent tirer profit de cette nouvelle plateforme pour leurs besoins d'hébergement web.
Actuellement, il n'existe pas d'outils publics disponibles pour la visualisation générique des bases de données des graphes. Les solutions existantes sont souvent propriétaires, coûteuses ou spécifiques à des domaines d'application particuliers. Cette présentation introduit un service web interactif, dynamique et hautement configurable, conçu pour la visualisation du contenu des bases de données des graphes, des requêtes et des résultats d'analyses. Les capacités de cet outil seront démontrées en utilisant les données graphiques du broker Fink de l'Observatoire Vera Rubin.
-Identifier, stocker et centraliser les données métiers pertinentes
-Construire des indicateurs de performances (KPI)
-Développer des tableaux de bord interactifs
-Diffuser et mettre à disposition les métriques et analyses métier
-Sources hétérogènes issues de l’ensemble de nos systèmes d’information
-ETL basé sur SPARK pour constituer le DatawareHouse
-Restitution via Tableau Software
We present the project MMODA (Multi-Messenger Online/Open Data/Distributed Analysis) which is an astroparticle community initiative carried out in partnership between François Arago Centre (FACE) of the APC laboratory, the University of Geneva and EPFL. MMODA aims to provide a real-time, online data analysis platform. The platform makes use of cloud-based data management solutions and virtualization technologies. It is intended to meet the challenges of efficient sharing and reuse of data and data analysis workflows and the reproducibility of results. Apart from standalone analysis plugins, we enable automatic deployment of the workflows in the form of semantically-annotated Jupyter notebooks. This process enables efficient crowdsourcing of the analysis-as-a-service modules encompassing the domain expertise.
HUGO [1] est un générateur de sites web statiques rapide et flexible construit en Go. Optimisé pour la vitesse et conçu pour la flexibilité, avec son système de modèles avancé et ses pipelines d'actifs rapides, HUGO rend un site complet en quelques secondes, souvent moins. Avec plus de 900 thèmes classés en plus de 15 catégories, il offre un moyen très simple de créer des sites Web adaptés à diverses fins avec un minimum d'effort.
Dans cette présentation éclair, je montrerai des exemples d'utilisation de HUGO pour plusieurs projets, y compris la documentation du projet VMC et plusieurs cours de maîtrise et de doctorat. J'aborderai brièvement le thème adopté, Relearn [2], ses fonctionnalités et personnalisations, ainsi que la faisabilité de maintenir la documentation complète des écoles des années précédentes et enfin aussi l'intégration dans Git et l'hébergement automatisé des sites web avec GitHub et GitLab pages.
[1] https://gohugo.io/
[2] https://mcshelby.github.io/hugo-theme-relearn
Lorsque l'on évoque le développement web moderne, on pense immédiatement à des pages offrant une expérience utilisateur fluide, des applications réactives sans rechargement. On imagine également une architecture interne modulaire, avec des composants bien isolés et réutilisables. Cette approche est devenue standard avec l'avènement des frameworks JavaScript comme React, Angular ou Vue.js. Cependant, est-il possible de construire une telle application sans recourir à un framework JavaScript ?
Dans cette présentation, je ferai un retour d'expérience sur mon utilisation de Django avec les bibliothèques open source HTMX et django-components dans le cadre de plusieurs projets web au sein d'IJCLab. Je vous montrerai qu'en combinant ces deux bibliothèques, il est tout à fait possible de construire une application réactive et modulaire, sans pour autant avoir à apprendre un nouveau langage, un nouveau framework, ni écrire (trop) de JavaScript.
Le CC-IN2P3 fournit ses ressources de calcul à environ 2700 utilisateurs. Ses autres services peuvent toucher une communauté encore plus grande, comme Gitlab et ses 10000 utilisateurs. Il est donc nécessaire qu'il fournisse une documentation de ses services à destination de ses utilisateurs. Cette dernière est donc amenée à évoluer régulièrement.
Dans le cadre de cette présentation, nous présenterons les raisons qui ont amené à la refonte de la documentation des utilisateurs du CC-IN2P3. Nous discuterons ensuite les procédures de gestion des contributions aux contenus de cette documentation ainsi qu'à ceux concernant la documentation interne du service adressée aux agents du CC. Enfin, nous expliciterons la stack logicielle qui soutient la documentation et les automatisations mises en place pour déployer et maintenir à jour ce service indispensable à l'accompagnement des utilisateurs.
Pour faciliter l'exploitation des données, le CC-IN2P3 a mis en place une plateforme nommée ELIAS. Cette plateforme repose sur une base de données Elasticsearch pour l'ingestion des données et utilise des outils de visualisation tels que Grafana et Kibana pour simplifier leur analyse. Depuis son lancement en 2020, ELIAS a rapidement rencontré un grand succès, avec plus de 4 To de données ingérées.
En 2021, une évolution majeure est survenue lorsque Elasticsearch a décidé de ne plus rendre son code open source. En réponse, un fork du projet, baptisé OpenSearch, a été créé. Nous souhaitons vous faire découvrir ce nouveau projet open source, avant de présenter son impact sur la plateforme ELIAS.
Depuis plus, de 15 ans l’Irfu gére ses Macs d’abord avec les outils Apple (macOS Server) puis avec Puppet et Munki. Dans une volonté d’automatisation accrue, nous avons mis en place des outils DevOps pour la génération de l’App de configuration initiale dans l’environnement CEA : AD ….
J’exposerai comment cette démarche DevOps peut être étendue à la distribution des applications avec Munki et Autopkgr
Au pôle DevOps de l'équipe "Applications" du CC-IN2P3, nous avons la responsabilité d'industrialiser le processus d'intégration des services web au sein de notre cluster OKD(kubernetes) dédié à cet usage.
Et donc d'alléger le travail des développeurs et des intégrateur de services.
Pour réaliser ce challenge, nous avons fourni aux projets des modèles d'intégration et de déploiement continus basés sur la technologies Gitlab-CI.
Leurs atouts :
- Ils sont utilisables dans de nombreux types de scénarii;
- Ils sont hautement configurables;
- Dans leur version par défaut, ils sont très simple à intégrer.
Je décrirais les constats et les objectifs de ce travail, la modélisation de la solution, et montrerait quelques cas d'utilisation.
Le système de gestion d'identité des utilisateurs du Centre de Calcul a évolué récemment et est encore en cours de transformation. La présentation sera l'occasion d'expliquer le fonctionnement actuel et les évolutions à venir. Nous expliciterons le rôle des différents composants du système et leur impact sur les utilisateurs.
Le CEA vient de mettre en place un logiciel de gestion automatique des comptes à partir des bases RH (pour les internes) et bases XXX pour les intérimaires/boites extérieures.
Ce logiciel créé les comptes, les modifient et les désactivent à partir des données autoritaires et non informatiques.
je reviendrai sur le principe et les conséquences en particulier sur les fin de contrats/départ en retraite/thésards .. ainsi que les changements de noms de famille entrainés par ce logiciel.
Le CC-IN2P3 s’est doté récemment pour sa documentation en interne d’un outil dédié, DIPLO. La centralisation de l’information et le point d’entrée unique de l’information ont été des principes clefs dans cette démarche transverse au laboratoire.
Nous proposons de décrire le constat initial, la vision et les phases du projet DIPLO, basé sur la plate-forme open-source Bookstack. Depuis la fin du projet en Janvier 2024, une phase de consolidation du contenu est en cours pour assurer la pérennité du nouvel écosystème centré sur DIPLO.
Aux derniers JI 2022, ont été exposés (par Joel SUREGT) les solutions du CEA suite aux nombreuses attaques subies sur EXTRA en 2023: le CEA avait décidé de sécuriser les connexions sur EXTRA depuis l’extérieur. Cela concernait l’accès webmail (https://webmail-e.cea.fr) et Forticlient Extra.
Pour cela, le CEA avait choisi d’utiliser la solution mobipass (comme pour les connexions vers INTRA). Le Webmail EXTRA nécessite depuis fin novembre l’utilisation du mobipass. Pour le VPN (forticlient),la bascule doit avoir lieu en septembre.
Je présenterai le bilan, les résultats, les conséquences ces solution Mobipass et Fortinet.
Le but de cette présentation éclair est d'ouvrir le débat sur l'intégration des macs dans la gestion de parc d'un laboratoire de recherche et de recueillir les bonnes pratiques.
Il s'agit essentiellement de répondre aux questions
Comment gérer la sécurité des macs ?
Comment gérer la transition des processeurs Intel vers les puces Apple ?
Beaucoup d’entre nous utilisons FreeRADIUS pour l’authentification des réseaux WiFi et du service de VPN. La présentation va montrer que l’on peut également utiliser FreeRADIUS pour lutter efficacement dans des attaques de type déni de service et protéger ainsi nos serveurs d’authentification.
Retour d'expérience sur la mise en production de pare-feux externes Opensource redondés et virtualisés à haute performance avec un budget contenu
Dans le cadre de nos activités en systèmes embarqués pour l’expérience T2K nous avons un retour d’expérience du framework OpenAMP pour faire fonctionner un système embarqué SoC Zynq7 bi-coeur afin d'avoir un système hétérogène dont un core du processeur ARM est utilisé avec un kernel Linux et un seconde core en mode bare-metal (sans OS) comme coprocesseur.
Notre module d'acquisition 16 voies (NumExo2) pour la physique nucleaire
implemente le traitement du signal dans sa partie electronique (FPGA)
avec un langage de programmation d'electronicien (VHDL).
Les temps de developpements sont long en regard de ceux realises en informatique
, typiquement 3 heures de "compilation".
Le projet REActif du groupe d'acquisition du GANIL
vise a raccourcir en particulier ce temps
et a gagner en souplesse d'algorithme implemente
, typiquement les operations en virgule flottante sont extrement couteuses en ressource electronique (FPGA)
, alors qu'elles sont natives cote informatique (CPU ou GPU).
Un module embarque a ete cree pouvant embarquer un ordinateur du type Nvidia Jetson (de 128 a 384 coeurs GPU)
et disposant d'une interface reseau SFP (1 a 10Gbps ethernet)
afin de receuillir les signaux en provenance de module de numerisation.
Le demonstrateur embarque l'implementation du calcul de traitement du signal (calcul d'energie)
sur le GPU embarque, a l'identique de celui du module NumExo2.
L'architecture logicielle est concue
afin de faciliter le codage algorithmique
plutot que privilegier des optimisations difficiles a maintenir.
Les gains en performances du module sont:
- 6x en temps de calcul,
- 10x en encombrement,
- 10x en energie.
La presentation developpe rapidement le projet complet,
et detaille l'architecture choisie (materiel/logiciel)
ainsi que son implementation (C++/CUDA).
Dans le cadre de la mission spatiale SVOM, l'instrument ECLAIRs permet le recueil et le traitement des données acquises à bord.
Dans cette optique, un pipeline écrit en Python a été créé. Afin que ce pipeline puisse s'intégrer au sein du segment sol, un ensemble d'outils et de bonne pratique de programmation est utilisé afin de s'assurer de la robustesse et de la conformité du code.
Dans cet exposé, nous présenterons les outils les plus pertinents ainsi que leur mise en pratique au sein d'un projet.
Perf est un outil d'analyse de performances très puissant intégré au noyau Linux. Il est utilisable dans un cadre très large, du profilage de temps CPU simple au suivi détaillé de l'activité du noyau en passant par toutes sortes d'outils de suivi fins de l'exécution de code (instrumentation kprobe/uprobe, analyse micro-architecturale...).
Malheureusement, comme trop souvent dans la communauté Linux, la documentation fournie par l'outil n'est pas à la hauteur de sa réputation. Trop d'utilisateurs potentiels sont donc intimidés et renoncent en faveur d'autres outils moins puissants. Ce TP vise à vous aider à passer outre cette première impression et acquérir des bases solides de perf.
Nous proposons une présentation d'AMI (ATLAS Metadata Interface), un écosystème logiciel générique, dédié à l'aggrégation et la transformation de métadonnées scientifiques.
L'écosystème fournit :
Utilisé depuis 20 ans dans l'experience ATLAS au CERN, AMI est aujourd'hui proposé à d'autres collaborations. L'écosystème s'adapte facilement à n'importe quelles bases de données relationnelles existantes (Oracle, MariaDb, MySQL, PosgreSQL...). Le support de base de données noSQL, par exemple MongoDB, est envisagé à moyen terme.
Nous serions évidemment très heureux d'intégrer de nouveaux collaborateurs au projet.
PyTorch est une bibliothèque logicielle Python open source dédiée à l'apprentissage automatique. PyTorch permet d'effectuer les calculs tensoriels nécessaires, en particulier pour l'apprentissage profond (deep learning). Ces calculs sont optimisés et réalisés soit par le processeur (CPU), soit, lorsque c'est possible, par un processeur graphique (GPU) prenant en charge CUDA ou ROCm. Que vous soyez débutant ou utilisateur confirmé, cette piscine propose de pratiquer et d’échanger autour de tutoriels introductifs simples jusqu’à des techniques plus avancées, comme la compilation des modèles, le portage en C++, l’accélération de l’inférence ou la gestion de la mémoire GPU.
Réunion de travail à destination des administrateurs gérant une infrastructure CEPH
Faut-il toujours sacrifier l'ergonomie et la facilité d’utilisation pour obtenir de bonnes performances dans un environnement hétérogène ? Le C++ est-il toujours un langage difficile à prendre en main ? Est-il possible de bâtir des bibliothèques en C++ se rapprochant de l’ergonomie de Python, tout en conservant les performances permises par le C++ ?
Ces préoccupations sont au coeur des recherches doctorales que je mène depuis désormais presque trois ans en collaboration avec les laboratoires IJCLab et LISN. Nous sommes partis du constat selon lequel les bibliothèques de gestion de tableaux multidimensionnels ont une importance cruciale pour la communauté scientifique, tant au niveau des expériences que des simulations, quel qu'en soit le domaine.
Dans cet exposé, nous allons présenter Kiwaku, une bibliothèque de gestion de tableaux multidimensionnels bénéficiant des dernières améliorations ergonomiques permises par le standard C++20. Nous allons comparer l’ergonomie ainsi que les performances de Kiwaku avec celles de Numpy en Python sur des exemples simples ainsi que l’algorithme Gray-Scott. Nous allons ensuite illustrer la manière dont Kiwaku permet l’exécution dans un contexte hétérogène, d’une manière quasiment transparente pour l’utilisateur final, en nous attardant sur une exécution via SYCL[1] sur GPU et CPU parallèle, ainsi que via EVE[2] de manière vectorielle sur CPU. Enfin, une comparaison succincte sera effectuée avec std::md_span (C++).
[1] https://www.khronos.org/sycl/
[2] https://jfalcou.github.io/eve/index.html
The future development projects for the Large Hadron Collider towards HL-LHC will constantly bring nominal luminosity increase, with the ultimate goal of reaching, e.g., a peak luminosity of $5 \cdot 10^{34} cm^{−2} s^{−1}$ for ATLAS and CMS experiments. This rise in luminosity will directly result in an increased number of simultaneous proton collisions (pileup), up to 200, that will pose new challenges for event reconstruction in such a dense environment.
In response to these challenges, many experiments have started already rewriting an increasing fraction of their track reconstruction software to run on heterogeneous architectures. This contribution will provide an overview of the work already done and the plans for the future development by the major LHC experiments (with a focus on the CMS experiment) highlighting possible similarities and common issues in view of the software development the next generation detectors.
Calculs hétérogènes pour les expériences LHC
Les futurs projets de développement du Large Hadron Collider (HL-LHC) entraîneront une augmentation constante de la luminosité, avec l'objectif ultime étant d'atteindre, par exemple, une luminosité maximale de $5 \cdot 10^{34} cm^{−2} s^{−1}$ pour les expériences ATLAS et CMS. Cette augmentation de la luminosité se traduira directement par un nombre accru de collisions de protons simultanées (pileup), jusqu'à 200, ce qui posera de nouveaux défis pour la reconstruction des événements dans un environnement aussi dense.
En réponse à ces défis, les expériences ont déjà commencé à réécrire une fraction croissante de leur logiciel de reconstruction de trajectoire pour fonctionner sur des architectures hétérogènes. Cet exposé fournira une vue d'ensemble des travaux déjà réalisés et des plans pour le développement futur par les principales expériences LHC (avec un accent sur l'expérience CMS) en soulignant les éventuelles similitudes et les problèmes communs en vue du développement du logiciel des détecteurs de la prochaine génération.
Lancé le 1er juillet 2023, le télescope spatial Euclid est conçu pour explorer l'évolution de l'Univers sombre. Il établira une carte en 3D de l'Univers (avec le temps comme troisième dimension) en observant des milliards de galaxies, jusqu'à 10 milliards d'années-lumière, sur plus d'un tiers du ciel.
Un certain nombre de facteurs (aussi appelés systématiques), liés au télescope lui-même ou aux caractéristiques des régions du ciel observées, peuvent impacter la capacité de l'instrument à détecter les galaxies et ainsi fausser les études scientifiques.
Nous proposons ici la présentation d'un outil de machine learning, utilisant des Self-Organizing Maps sur GPU, pour décontaminer la détection des galaxies de l'effet des systématiques (≡ fonction de transfert du télescope spatial Euclid). Nous nous intéresserons en particulier aux contraintes spécifiques liées au grand volume de données et à l'écriture d'algorithmes fonctionnant à usage mémoire constant.
La construction de graphes est une étape clé dans les méthodes basées sur les Graph Neural Network [1-4] qui sont développées pour la reconstruction de traces dans le détecteur ATLAS [5] au CERN [6] pour la phase de haute luminosité du LHC (HL-LHC) [7] qui doit démarrer en 2029. L’algorithme de construction calcule les connexions entre les hits dans le détecteur en se basant sur une carte des connexions possibles entre modules (la « module map ») et des critères de sélection géométriques. Le temps de calcul de cet algorithme est extrêmement contraint dans le contexte de reconstruction des traces durant HL-LHC. Jusqu’à récemment, cet algorithme avait un coût rédhibitoire (plusieurs centaines de secondes par événement). Nous présentons une première nouvelle approche dans la gestion des critères de selection et de nouvelles optimisations de l’utilisation de la mémoire et d’accès aux données qui a permis de réduire considérablement le temps de calcul, permettant ainsi de passer à quelques secondes par évènement sur 1 cœur CPU. Au HL-LHC nous considérons aussi la possibilité d’exploiter les architectures GPU qui deviennent de plus en plus compétitive en coût. Nous présentons une seconde approche qui redessine en profondeur l’algorithme dans une version hautement parallélisée d’accès la module map et qui a été portée intégralement sur GPU. Cette nouvelle approche permet de gagner deux ordres de grandeur supplémentaires et de réduire significativement le temps de calcul à quelques dizaines de millisecondes.
Les performances en termes de temps de calcul et de charge mémoire des différentes approches sur différentes architectures ainsi que la portabilité du code seront discutés.
Références:
[1] Biscarat, Catherine et al. “Towards a realistic track reconstruction algorithm based on graph neural networks for the HL-LHC”. In: EPJ Web Conf. 251 (2021), p. 03047. doi: 10.1051/epjconf/202125103047. URL: https://doi.org/10.1051/epjconf/202125103047.
[2] Gage Dezoort, Peter W Battaglia, Catherine Biscarat, Jean-Roch Vlimant. Graph neural networks at the Large Hadron Collider. Nature Rev.Phys., 2023, 5 (5), pp.281-303. ⟨10.1038/s42254-023-00569-0⟩. ⟨hal-04096263⟩
[3] Heberth Torres o.b.o ATLAS Collaboration « Physics Performance of the ATLAS GNN4ITk Track Reconstruction Chain » Proceedings of the CTD 2023, https://cds.cern.ch/record/2882507
[4] Sylvain Caillou et al. « Novel fully-heterogeneous GNN designs for track reconstruction at the HL-LHC » Proceedings of the CHEP 2023, EPJ Web of Conferences 295, 09028 (2024) https://doi.org/10.1051/epjconf/202429509028
[5] ATLAS experiment, url: https://atlas.cern
[6] CERN, url: https://home.cern/
[7] Apollinari et al., High-Luminosity Large Hadron Collider (HL-LHC), url: https://cds.cern.ch/record/2284929