Les Webinars CC-FR

Le centre de compétence CC-FR organise des webinaires techniques afin de vous accompagner à développer vos compétences sur les technologies de HPC, HPDA, IA et QUANTIQUE. Retrouvez la programmation 2024 de nos webinaires ainsi que les replay.

Participez à nos prochains webinaires !

  • 16/05/24 -10h/11h : Python sur GPU : cunumerics / Legate / Tensorflow, présenté par Alice Faure, LUPM et Jean-Marc Colley, CNRS, Inscription
    Comment utiliser une carte GPU pour accélérer un calcul numérique avec Python? Lors de cette présentation nous allons examiner les possibilités offertes afin de vous guider vers la bibliothèque qui répond à vos besoins. Nous verrons les principes de base de chacune d’elles, et la future école Gray-Scott donnera une vision plus approfondie de leurs utilisations. Nous les présenterons par niveau d’intégration : pour le haut niveau, Nvidia CuNumeric, Intel DPNP, JAX, et PyTorch permettent de garder un code quasi identique à la version CPU. Pour le niveau intermédiaire, la bibliothèque CuPy permet un accès à des fonctionnalités numériques avancées, mais nécessite un code spécifique pour le GPU. Enfin, pour le bas niveau, les bibliothèques PyCUDA et Numba pour GPU fournissent les fonctionnalités de base sur les tableaux. Nous évoquerons également des outils de profilage associés.

  • 25/04/24 -10h/11h : Calculer sur CPU et GPU en Fortran avec NVfortran et OpenACC, présenté par Vincent Lafage, CNRS, Inscription

  • 18/04/24 -10h/11h : Calculer avec Rust sur CPU et GPU, présenté Hadrien Grasland, IJClab, Inscription
    Durant le webinaire Gray-Scott du 29 février, nous avons vu sur quels plans Rust innove par rapport à son ancêtre C++, et pourquoi il peut être intéressant d’utiliser ce langage pour des tâches calculatoires. Si cet argumentaire vous a convaincu, il est maintenant temps de passer à l’action. Dans ce webinaire, nous allons donc voir comment, concrètement, on effectue divers travaux de calcul courants avec Rust, sur CPU et GPU. Ce qui sera le prétexte parfait pour aborder dans un deuxième temps la question essentielle du niveau de maturité des briques logicielles de l’écosystème de calcul Rust.

  • 11/04/24 -10h/11h : Calculer avec Numpy en Python, présenté par Alice Faure, LUPM et Jean-Marc Colley, CNRS, Inscription
    Python est un langage très largement utilisé dans la communauté scientifique pour sa simplicité d’utilisation. Cependant, le Python natif est loin des performances des langages compilés. Il existe toutefois des bibliothèques de calcul qui permettent de se rapprocher de ces performances. Dans ce webinaire, nous allons présenter les techniques de base pour calculer efficacement avec numpy sur CPU. Nous verrons également d’autres techniques à utiliser lorsque numpy ne suffit plus, notamment les bibliothèques de compilation à la volée comme Numba, et le multi-threading.

  • 04/04/24 -10h/11h : Bibliothèque de calcul Eve en C++ 20, présenté par Joël Falcou (LISN – CODE RECKONS), Inscription
    Les jeux d’instructions SIMD sont un must have de toutes les architectures de processeurs depis la fin des années 90. Hélas, leur utilisation manuelle ou au travers d’un auto-vectorisateur laisse souvent à désirer. Nous allons ici présenter EVE, une bibliothèque d’aide à la vectorisation pour C++20 dont les objectifs sont de jouer le jeu des idiomes du C++ moderne, de fournir plus de 200 fonctions mathématiques pré-vectorisées, de supporter Intel, ARM et PPC, de s’intégrer dans des codes à bases d’algorithmes. Nous allons principalement présenter l’interface et les résultats atteignables avec EVE sur des exemples simples.

  • 28/03/24 -10h/11h : Calculer sur GPU en C++ 20 avec NVC++ et CUDA, présenté par Pierre Aubert, LAPP, Replay
    En C++, le calcul sur GPU a évolué drastiquement en 2020 lorsque NVidia a annoncé que son compilateur, nvc++, était capable de compiler un calcul en C++ 17 directement sur GPU sans que le développeur ne soit obligé de passer par des bibliothèques tierces (Sycl, Kokkos, etc). Depuis, nvc++ supporte également C++20 et Intel est entrée dans la course avec dpc++. Nous verrons dans ce webinaire comment calculer directement sur GPU en C++ 17 et C++ 20. Les points communs de cette méthode avec des approches plus classiques comme CUDA mais aussi leurs différences et la compatibilité avec l’approche C++ 17 standard pour CPU que nous avons vu dans un webinaire précédent.

  • 21/03/24 -10h/11h : Fortran (langage, OpenACC), présenté par Vincent Lafage, CNRS, Replay
    FORTRAN, qui avec la bonne prononciation rime avec dinosaure, a été remplacé dans le plus grand silence par Fortran (90), au tournant du siècle. Sorti du ring par les langages de la bulle internet, ses descendants sont de retour sur le devant de la scène.Nous survolerons les capacités du Fortran moderne, mais aussi comment exploiter le parallélisme, la vectorisation et les GPU avec ce langage dédié au calcul, et son intégration dans les chaînes de développement logiciel : build, test unitaire. 

  • 14/03/24 -10h/11h : Calculer avec Sycl en C++ 20 sur CPU et GPU, présenté par David Chamont, IJClab, Replay
    Nous verrons comment SYCL se positionne dans le paysage de la programmation hétérogène C++ : entre les premiers pas du standard C++, les performances de CUDA, et la bibliothèque Kokkos. Nous commencerons à examiner la promesse de SYCL de faciliter le portage de code entre les différentes architectures matérielles que sont les CPU, les GPU, et les FPGA. Enfin, nous présenterons le programme proposé à la Gray Scott School.

  • 08/03/24 -10h/11h : Profilage de compilation C++ avec crofiler, présenté par Hadrien Grasland, IJClab, Replay
    En C++, on peut faire un usage détourné des templates et de leurs spécialisations pour effectuer des calculs et transformations de code au moment de la compilation d’un programme. Certaines bibliothèques utilisent cette possibilité pour optimiser leurs performances d’exécution. Mais ce faisant, elles augmentent aussi la charge du travail du compilateur. Au point que la compilation d’une application peut devenir extrêmement lente, ou même consommer tellement de RAM qu’elle en devient impossible. Il faut alors optimiser les performances de compilation du code. Cette tâche est plus difficile qu’il n’y paraît au premier abord, et c’est ce qui a conduit au développement de crofiler, un outil d’analyse des performances de compilation basé sur le compilateur C++ clang.

  • 07/03/24 -10h/11h : Architecture GPU, présenté par Pierre Aubert, LAPP, Replay
    De nos jours, le calcul intensif utilise de plus en plus les processeurs graphiques, ou GPU. Nous verrons dans ce webinaire leur architecture matériel, leurs points communs et différences avec les CPU abordés précédemment ainsi que le comportement des pilotes récents, l’impact du parallélisme exprimé sur les performances obtenues et quelques méthodes qui permettent d’avoir de la flexibilité dans le développement en conservant les performances.

  • 29/02/24 -10h/11h : Le langage Rust, présenté par Hadrien Grasland, IJClab, Replay
    L’offre de langages de programmation pour le calcul numérique peut sembler pléthorique pour le non initié. Mais dès qu’on est un peu exigeant sur la marchandise (langage généraliste en termes de cibles matérielles et types d’applications, programmes relativement faciles à optimiser, passe bien à l’échelle sur les gros projets…), on se retrouve vite sur un terrain qui est traditionnellement la chasse gardée du C++. Aujourd’hui, Rust tente de bousculer cet ordre établi. Dans cette présentation, nous allons voir sur quels plans Rust innove par rapport à son ancêtre, et pourquoi ce langage est un solide prétendant au titre de remplaçant de C++ pour les applications calculatoires.

  • 27/02/24 -10h/11h : Quantum Computing : From Research to Industy, NCC France & Netherlands, Replay
    This webinar organized jointly by NCC France and NCC Netherlands aims to introduce the technologies of Quantum Computing and present the challenges and perspectives. After an introduction, this webinar will address quantum gate-based computing, annealers, analog computing, and quantum simulation.

  • 22/02/24 -10h/11h : Calcul en C++ 17/20/23, présenté par Pierre Aubert, LAPP, Replay
    De nos jours, le hardware devient de plus en plus complexe. Développer des programmes efficaces sur toutes ces architectures devient alors de plus en plus difficile. Plusieurs solutions sont alors possibles. Utiliser des bibliothèques spécialisées pour telle ou telle architecture, mais laquelle choisir ? Le C++17 introduit des algorithmes haut niveau qui permettent de s’affranchir des différents indices habituels qui doivent être passés lors de la compilation afin de vectoriser ou de paralléliser un calcul. Cela simplifie profondément les programmes qui utilisent cette méthode et permet de tirer pleinement parti des optimisations du compilateur. Comme les algorithmes à partir de C++17 se reposent sur le compilateur. Lors d’un prochain webinaire nous verront comment l’utilisation d’un compilateur spécialisé pour les GPU (comme NVC++) permettra au programme de s’exécuter également sur GPU sans aucune modification.

  • 15/02/24 -10h/11h : Profilage mémoire (MALT, NUMAPROF), présenté par Sébastien Valat, INRIA, Replay
    Allocations mémoires, pourquoi et comment profiler (MALT, NUMAPROF) : La mémoire est parfois devenue un problème majeur dans les applications, de par la question des performances d’accès mais aussi par les volumes géré au sein d’application souvent de plus en plus dynamiques et complexes. Se pose alors la question, comment se rendre compte de ses erreurs et de patterns problématiques facilement corrigeable. Comment trouver où elle est consommée lorsque l’on atteint les limites de sa machine ?

  • 08/02/24 -10h/11h : Précision des calculs, présenté par Vincent Lafage, CNRS, Replay
    Nous calculons, vite de préférence, avec des objets qui devraient être simples (on les qualifie même de « types primitifs ») : les nombres à virgule flottante. Float ou double, certains langages les appellent même Real. Nous aborderons quelques aspects déstabilisants de leur comportement : les nombres effectivement représentables en flottant et les erreurs induites sur les autres. De plus, différents cas d’usage seront présentés pour naviguer entre les écueils du calcul à virgule flottante, et trouver l’équilibre dans le ménage à trois de la performance, de la précision et de la correction.

  • 01/02/24 -10h/11h : Architecture CPU, présenté par Hadrien Grasland, IJClab, Replay
    L’organisation interne des CPUs modernes est complexe et en partie secrète. Mais les performances d’exécution des programmes en découlent directement. Par conséquent, lorsqu’on veut optimiser les performances de programmes calculatoires, il est utile de s’intéresser un peu à ce qui se passe sous le capot.

Inscrivez-vous à notre newsletter pour rester informé sur les actualités du Centre de compétence CC-FR : Inscription !

Vous souhaitez proposer un webinaire, un atelier, un workshop, une conférence sur les technologies de HPC, HPDA, IA, Simulation et Quantique, contactez-nous !