Outils pour le développement et l'utilisation de logiciels de calcul scientifique

L'objectif de ce module 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. Nous présenterons également quelques outils indispensables, à notre sens, au cycle de vie d'un code de calcul scientifique.

Le cours est découpé en trois parties relativement distinctes :

/!\ Les transparents seront publiés (activation des liens ci-dessous) au fur et à mesure de l'avancée du cours /!\

Attention : ces documents seront mis à jour régulièrement, au fil des séances!

Plan du module

  1. Contexte et présentation du module
  2. Introduction : le calcul et le contexte grenoblois

  3. Gestion de projet, développements collaboratifs

  4. Des sources à l'exécutable

  5. Vérification, validation, diffusion d'un logiciel

    • Diffusion de code (comment? Quoi? Licences, APP ...)
    • Tests et intégration continue (ctest, gitlab-ci)
    • Documentation de code, quelques outils (Doxygen, sphinx, gitlab-pages)
  6. Debug, profiling

    • Debug, généralités, gdb
    • Profiling, généralités, gprof, valgrind
  7. Une introduction aux formats de données et à la visualisation en calcul scientifique

    • Visualisation en calcul scientifique
    • Structure et écriture des données (formats de données, systèmes de fichiers ...)
    • hdf5
    • Structure de données 3D, vtk
    • Visualisation 3D avec vtk et Paraview
    • TPs Paraview
    • Visualisation distante

Plaquettes CNRS :