Présentation détaillée des différents modules

Les modules présentés ci-dessous font partie d'un cycle de formations proposé par le collège des école doctorales de Grenoble, l'UAR GRICAD et MaiMoSiNE en collaboration avec différents laboratoires grenoblois. Ils font partie du bloc "outils numériques et méthodologies" des formations transverse du collège doctoral et sont également ouverts aux personnels ESR de Grenoble.

L'objectif de ces modules est de fournir aux étudiants un ensemble de connaissances et de bonnes pratiques pour le développement ou l'utilisation efficace et fiable de codes de calcul dans un environnement de recherche.

Note

  • Les contenus listés ci-dessous sont encore incomplets/provisoires et susceptibles de changer
  • Les documents (pdf) liés aux différents cours seront mis à disposition sur cette page au fur et à mesure de l'avancée des séances.
  • Voir la page informations pratiques pour les contacts, l'accès à la salle de formation etc.

Les bases du système Linux pour le calcul scientifique

Objectif

Fournir aux étudiants les connaissances Unix indispensables pour travailler sur des machines de calcul (e.g. les clusters du méso-centre de calcul grenoblois).

Pré-requis

Aucun, niveau débutant.

Contenu

  • Connaissances générales des systèmes Unix
  • Les fondamentaux de la ligne de commande
  • Connexion et travail sur une machine distante

Intervenants : Frédéric Audra, Glenn Cougoulat.

Planning et documents

Adum - catalogue formation CED

  • 24/10/2023, 9h - 12h et 13h-16h
  • 26/10/2023, 9h - 12h

Documents

Accès aux documents de cours et exercices

Warning

Les connaissances apportées par ces trois séances sont un pré-requis indispensable aux modules décrits ci-dessous.

Gestion de projets et développements collaboratifs - Utilisation de la plate-forme gricad-gitlab

Objectifs et contenu

Les outils de travail collaboratif de type Forge et en particulier Gitlab sont devenus incontournables dans les laboratoires de recherches.

L’objectif de cette formation est de fournir aux étudiants les connaissances minimales et les bonnes pratiques d’utilisation de ces outils.

Nous nous focaliserons en particulier sur la plateforme utilisée dans la communauté ESR à Grenoble, gricad-gitlab.univ-grenoble-alpes.fr. Nous aborderons également dans le détail l’utilisation du gestionnaire de version git. Pour terminer nous présenterons ce qu’est l’intégration continue et comment la mettre en place via Gitlab.

A la fin de ces séances, vous serez capables d’utiliser Gitlab et git pour vos tâches quotidiennes. Vous disposerez également de quelques bases et d’exemples complets pour mettre en place l’intégration continue dans vos projets.

Programme

  1. Présentation générale des forges, principes, usages, intérêts ...
  2. Tutoriel d'utilisation de la plate-forme https://gricad-gitlab.univ-grenoble.fr
  3. Apprentissage de l'utilisation de git
  4. Gitlab avancé : workflow, intégration continue, docker registries …. Principes et exemples/tutoriels d’utilisation.

Pré-requis, niveau

Aucun, niveau débutant.

L’essentiel de ce cours s’adresse à des personnes novices sans aucune connaissance de ce type d’outils. La dernière partie (intégration continue) est plus difficile d’accès mais nous nous efforçons de fournir un maximum d’exemples et de matériel qui pourront servir de bases à un usage avancé.

Intervenants : Franck Pérignon, Alizia Tarayoun.

Planning

Adum - catalogue formation CED

  • 29/11/2023, 9h - 12h
  • 30/11/2023, 9h - 12h
  • 11/12/2023, 14h - 17h
  • 13/12/2023, 14h - 17h

Documents

Accès aux documents de cours et exercices

Des sources à l'exécutable : la chaine de compilation

Objectifs et contenu

Apprendre à compiler et exécuter un code de calcul. L'idée est de bien comprendre toutes les étapes qui mènent à une librairie ou à un exécutable (compilation, édition de lien etc) et de découvrir par la pratique quelques outils liés à ces étapes (cmake, debug ...)

Programme

  • comprendre la compilation et l'édition de lien (ligne de commande)
  • Makefile : une première automatisation pour la construction d'executables/bibliothèques
  • CMake : un outil de construction automatique de logiciels. Utilisation, prise en main et intégration de CMake dans vos projets logiciels.
  • Debug et profiling : introduction à l'utilisation de gdb, gprof et valgrind

A la fin de ces séances, vous serez à l'aise avec la compilation de programmes simples et disposerez d'exemples complets de projets logiciels utilisant CMake.

Niveau

L’essentiel de ce cours s’adresse à des personnes novices

Le cours sera en français.

Pré-requis

  • quelques bases dans un langage de programmation (C, C++, Fortran), langages dans lesquels seront écrits les exercices. Être capable de lire et comprendre sommairement un programme est suffisant.
  • Être à l'aise avec la ligne de commande (voir le module Linux correspondant dans les cours du collège doctoral)

Intervenants : Violaine Louvet, Franck Pérignon.

Planning

Adum - catalogue formation CED

  • 07/02/2024, 9h - 12h
  • 08/02/2024, 9h - 12h
  • 14/02/2024, 9h - 12h
  • 15/02/2024, 9h - 12h

Documents

Accès aux documents de cours et exercices

Introduction au calcul parallèle

Objectifs

L'objectif de ce module est de donner aux étudiants une vue claire de ce qu'est le calcul parallèle et de ce qu'il peut apporter. Cette formation peut en particulier vous permettre d'acquérir les connaissances nécessaires pour choisir un modèle de programmation parallèle adapté à votre application et aux ressources de calcul disponibles. Nous aborderons dans un premier temps les aspects architecture hardware des calculateurs, avant de passer aux différents modèles de programmation, avec une attention particulière pour OpenMP et MPI. Etant donné le contexte "grenoblois" de cette formation, nous nous appuierons sur les ressources du pôle calcul de Gricad, notamment le cluster Dahu.

Contenu

  • Introduction : calcul haute performance, notions de bases à propos des architectures et des modèles de programmation.
  • Présentation et utilisation des ressources de calcul locales (Gricad)
  • Calcul en mémoire partagée, OpenMP, GPU
  • Calcul distribués, MPI, Grille

Pré-requis

  • maitrise d'au moins un langage de programmation (C/C++ ou Fortran),
  • être à l'aise avec l'utilisation de commandes en lignes (terminal unix),
  • maitrise de la "chaine de construction d'un exécutable" et des outils standards de gestion de projet logiciel (git, cmake ...). Voir les module unix, git/gitlab et compilation.

Niveau : tout doctorant débutant en calcul parallèle mais avec des connaissances basiques en programmation.

Remarque : étant donné le volume horaire important de ce module, il est tout à fait acceptable de n'en suivre qu'une partie.

Intervenants : C. Acary-Robert, F. Audra, P.A. Bouttier, G. Cougoulat, A. Lecointre, V. Louvet, F. Pérignon.

Planning

Adum - catalogue formation CED

  • 16/05/2024, 9h - 12h, Introduction, généralités.
  • 17/05/2024, 9h - 12h, Présentation et utilisation des ressources locales.
  • 17/05/2024, 13h - 16h, Calcul en mémoire partagée, OpenMP
  • 23/05/2024, 9h - 12h, "
  • 24/05/2024, 9h - 12h et 13h-16h - GPU
  • 10/06/2024, 13h - 16h, Calcul en mémoire distribuée, MPI.
  • 12/06/2024, 9h-12h, 13h - 16h, "
  • 13/06/2024, 13h - 16h, "
  • 14/06/2024, 9h - 12h, "
  • 18/06/2024, 13h - 16h, Calcul sur grille

Accès aux documents de cours et exercices 1

Introduction aux formats de données et à la visualisation en calcul scientifique - Entrée-sorties parallèles

Objectifs

L'objectif de ce module est de fournir aux étudiants un ensemble de connaissances et de bonnes pratiques pour la visualisation en calcul scientifique et la gestion de données dans un code de calcul.

Contenu

  • Visualisation en calcul scientifique
  • Structure et écriture des données (formats de données, systèmes de fichiers ...)
  • Introduction à l'utilisation d'hdf5
  • Structure de données 3D, visualisation 3D avec vtk et Paraview
  • Entrées/Sorties parallèles (MPI/IO, hdf5)

Pré-requis

Niveau débutant sauf pour la dernière partie du cours (entrée-sorties parallèles) qui nécessite des connaissance MPI (cours calcul parallèle).

Intervenants : C. Bligny, M. Chekki, A. Lecointre, F. Pérignon.

Planning

Adum - catalogue formation CED

  • 19/06/2024, 9h - 12h et 13h-16h
  • 26/06/2024, 9h - 12h et 13h-16h

Accès aux documents de cours et exercices à venir ... 1

Pour info ...

Plaquettes CNRS


  1. publication après le début des cours.